2021-2022-2-第5次单元练习后记//Pintia

  • 一个简单的说明
    • 7-1 电子汪 (10 分)
      • 题面
        • 输入格式:
        • 输出格式:
        • 输入样例:
        • 输出样例:
      • C++源码
    • 7-2 大笨钟 (10 分)
      • 题面
        • 输入格式:
        • 输出格式:
        • 输入样例1:
        • 输出样例1:
        • 输入样例2:
        • 输出样例2:
      • C++源码
        • 我真傻真的,我光想着秒了这套题,却完全没仔细看题(
    • 7-3 吃鱼还是吃肉 (10 分)
      • 题面
        • 输入格式:
        • 输出格式:
        • 输入样例:
        • 输出样例:
      • C++源码
    • 7-4 小鲁摘苹果 (10 分)
      • 题面
        • 输入格式:
        • 输出格式:
        • 输入样例:
        • 输出样例:
      • C++源码
    • 7-5 关羽 (10 分)
      • 题面
        • 输入格式:
        • 输出格式:
        • 输入样例:
        • 输出样例:
      • C++源码
        • 因为double有六位小数,所以我干脆右移小数点六位(
    • 7-6 水仙花数 (10 分)
      • 题面
        • 输入格式:
        • 输出格式:
        • 输入样例:
        • 输出样例:
      • C++源码
        • 梦回初中,没想到第二次写到这道题是六年后,感慨
    • 7-7 海选高大中锋 (10 分)
      • 题面
        • 输入格式:
        • 输出格式:
        • 输入样例:
        • 输出样例:
      • C++源码
    • 7-8 谁先倒 (10 分)
      • 题面
        • 输入格式:
        • 输出格式:
        • 输入样例:
        • 输出样例:
      • C++源码
    • 7-9 作品评分 (10 分)
      • 题面
        • 输入格式:
        • 输出格式:
        • 输入样例:
        • 输出样例:
      • C++源码
        • 本题一开始还想抖机灵,直接粗暴取前2位小数即可,结果调了半天发现除法不是inf就是nan的原因竟然是,我的n是0(麻了
  • 本次练习的反思
  • 关于源码中read()函数的说明

一个简单的说明

主要以记录题目,分享源码为主
顺带记录做题心路历程
太久没有做题了,手生了,难免犯一些低级错误
最后,顺便对我的后续练习起到一个规划的作用

7-1 电子汪 (10 分)

题面

据说汪星人的智商能达到人类 4 岁儿童的水平,更有些聪明汪会做加法计算。比如你在地上放两堆小球,分别有 1 只球和 2 只球,聪明汪就会用“汪!汪!汪!”表示 1 加 2 的结果是 3。

本题要求你为电子宠物汪做一个模拟程序,根据电子眼识别出的两堆小球的个数,计算出和,并且用汪星人的叫声给出答案。

输入格式:

输入在一行中给出两个 [1, 9] 区间内的正整数 A 和 B,用空格分隔。

输出格式:

在一行中输出 A + B 个Wang!。

输入样例:

2 1

输出样例:

Wang!Wang!Wang!

C++源码

#include<cstdio>inline int read(){int f=1,s=0;char k=getchar();while(k>'9'||k<'0'){if(k=='-')f=-1,k=getchar();}while(k>='0'&&k<='9'){s=(s<<3)+(s<<1)+k-'0';k=getchar();}return f*s;
}int a,b;int main(){a=read(),b=read();for(int i=1;i<=a+b;++i)printf("Wang!");return 0;
}

7-2 大笨钟 (10 分)

题面

微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。

下面就请你写个程序,根据当前时间替大笨钟敲钟。

输入格式:

输入第一行按照hh:mm的格式给出当前时间。其中hh是小时,在00到23之间;mm是分钟,在00到59之间。

输出格式:

根据当前时间替大笨钟敲钟,即在一行中输出相应数量个Dang。如果不是敲钟期,则输出:

Only hh:mm. Too early to Dang.
其中hh:mm是输入的时间。

输入样例1:

19:05

输出样例1:

DangDangDangDangDangDangDangDang

输入样例2:

07:05

输出样例2:

Only 07:05. Too early to Dang.

C++源码

#include<cstdio>int a,b;int main(){scanf("%d:%d",&a,&b);if((a>=0&&a<12)||(a==12&&b==0))printf("Only %02d:%02d.  Too early to Dang.",a,b);else {if(a>=12)a-=12;if(b!=0)++a;for(int i=1;i<=a;++i)printf("Dang"); }return 0;
}

我真傻真的,我光想着秒了这套题,却完全没仔细看题(

7-3 吃鱼还是吃肉 (10 分)

题面

国家给出了 8 岁男宝宝的标准身高为 130 厘米、标准体重为 27 公斤;8 岁女宝宝的标准身高为 129 厘米、标准体重为 25 公斤。

现在你要根据小宝宝的身高体重,给出补充营养的建议。

输入格式:

输入在第一行给出一个不超过 10 的正整数 N,随后 N 行,每行给出一位宝宝的身体数据:

性别 身高 体重
其中性别是 1 表示男生,0 表示女生。身高和体重都是不超过 200 的正整数。

输出格式:

对于每一位宝宝,在一行中给出你的建议:

如果太矮了,输出:duo chi yu!(多吃鱼);
如果太瘦了,输出:duo chi rou!(多吃肉);
如果正标准,输出:wan mei!(完美);
如果太高了,输出:ni li hai!(你厉害);
如果太胖了,输出:shao chi rou!(少吃肉)。
先评价身高,再评价体重。两句话之间要有 1 个空格。

输入样例:

4
0 130 23
1 129 27
1 130 30
0 128 27

输出样例:

ni li hai! duo chi rou!
duo chi yu! wan mei!
wan mei! shao chi rou!
duo chi yu! shao chi rou!

C++源码

#include<cstdio>inline int read(){int f=1,s=0;char k=getchar();while(k>'9'||k<'0'){if(k=='-')f=-1,k=getchar();}while(k>='0'&&k<='9'){s=(s<<3)+(s<<1)+k-'0';k=getchar();}return f*s;
}int a,b,c,n;int main(){n=read();while(n){a=read(),b=read(),c=read();if(a){if(b<130)printf("duo chi yu!");else if(b==130)printf("wan mei!");else if(b>130)printf("ni li hai!");putchar(' ');if(c<27)printf("duo chi rou!");else if(c==27)printf("wan mei!");else if(c>27)printf("shao chi rou!");}else{if(b<129)printf("duo chi yu!");else if(b==129)printf("wan mei!");else if(b>129)printf("ni li hai!");putchar(' ');if(c<25)printf("duo chi rou!");else if(c==25)printf("wan mei!");else if(c>25)printf("shao chi rou!");}n--;putchar('\n');}return 0;
}

7-4 小鲁摘苹果 (10 分)

题面

小鲁家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,小鲁就会跑去摘苹果(不如我们去帮他吃掉)。小鲁有个30厘米高的板凳,当他不能直接用手摘到苹果的时候,就会踩到板凳上再试试。 现在已知10个苹果到地面的高度,以及小鲁把手伸直的时候能够达到的最大高度,请帮小鲁算一下他能够摘到的苹果的数目。假设他碰到苹果,苹果就会掉下来。(苹果很配合哦)

输入格式:

输入包括两行数据。 第一行只包括一个100到120之间(包含100和120)的整数(单位:厘米),表示小鲁把手伸直的时候能够达到的最大高度。

第二行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。

输出格式:

输出包括一行,这一行只包含一个整数,表示小鲁能够摘到的苹果的数目。

输入样例:

110
100 200 150 140 129 134 167 198 200 111

输出样例:

5

C++源码

#include<cstdio>inline int read(){int f=1,s=0;char k=getchar();while(k>'9'||k<'0'){if(k=='-')f=-1,k=getchar();}while(k>='0'&&k<='9'){s=(s<<3)+(s<<1)+k-'0';k=getchar();}return f*s;
}int n,a,b;int main(){b=0;n=read();for(int i=1;i<=10;++i){a=read();if(a<=n+30)b++;}printf("%d",b);return 0;
}

7-5 关羽 (10 分)

题面

关羽千里走单骑去寻找兄长,需要连过10关。先输入关羽的武力,再输入10关守将的武力。如果关羽武力强于守将武力,则能够通过该关;如果守将武力强于或等于关羽,则无法通过该关;请问关羽能否找到兄长?

输入格式:

第一行1个实数,表示关羽的武力。 接下来10行,每行一个实数,分别表示10关守将的武力。

输出格式:

如果关羽成功过10关,则输出"GOOD";否则输出一个整数,表示关羽在哪一关失败。

输入样例:

14.5
11.9
6.0
12.4
10.6
7.0
11.4
13.0
10.5
12.8
11.0

输出样例:

GOOD

C++源码

#include<cstdio>
#include<cmath>double n,a,b;int main(){scanf("%lf",&n);for(int i=1;i<=10;++i){scanf("%lf",&a);if(abs(a*1000000)>abs(n*1000000)){printf("%d",i);return 0;}}printf("GOOD");return 0;
}

因为double有六位小数,所以我干脆右移小数点六位(

7-6 水仙花数 (10 分)

题面

请判断一个数是不是水仙花数。水仙花数是指各个数字立方和等于它本身的三位数。

输入格式:

有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
输入0表示程序输入结束。

输出格式:

如果n是水仙花数就输出Yes
否则输出No

输入样例:

153
154
370
0

输出样例:

Yes
No
Yes

C++源码

#include<cstdio>
#include<cmath>inline int read(){int f=1,s=0;char k=getchar();while(k>'9'||k<'0'){if(k=='-')f=-1,k=getchar();}while(k>='0'&&k<='9'){s=(s<<3)+(s<<1)+k-'0';k=getchar();}return f*s;
}int n,a,b,n1,c;int main(){n=read();while(n!=0){n1=n;b=0;while(n>10){a=n%10;b+=a*a*a;n/=10;}b+=n*n*n;if(b==n1)printf("Yes\n");else printf("No\n");n=read();}return 0;
}

梦回初中,没想到第二次写到这道题是六年后,感慨

7-7 海选高大中锋 (10 分)

题面

HDU篮球队需要一个高大中锋,只要个子高,不会打球没关系。
请你从n个候选人找出个子最高的。

输入格式:

第1行包含一个整数n,表示人数。
第2行包含n个实数,表示n个人的身高。

输出格式:

包含一个实数,表示最高的人的身高,小数点保留2位。

输入样例:

在这里给出一组输入。例如:

10
161.01 226 180.76 175 177 165 158 150 170 171

输出样例:

226.00

C++源码

#include<cstdio>
#include<cmath>int n;
double maxs,in;int main(){scanf("%d",&n);maxs=0;for(int i=1;i<=n;++i){scanf("%lf",&in);if(abs(maxs*100)<abs(in*100))maxs=in;}printf("%.2lf",maxs);return 0;
}

7-8 谁先倒 (10 分)

题面

划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。

下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。

输入格式:

输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),以空格分隔。下一行给出一个正整数N(≤100),随后N行,每行给出一轮划拳的记录,格式为:

甲喊 甲划 乙喊 乙划
其中喊是喊出的数字,划是划出的数字,均为不超过100的正整数(两只手一起划)。

输出格式:

在第一行中输出先倒下的那个人:A代表甲,B代表乙。第二行中输出没倒的那个人喝了多少杯。题目保证有一个人倒下。注意程序处理到有人倒下就终止,后面的数据不必处理。

输入样例:

1 1
6
8 10 9 12
5 10 5 10
3 8 5 12
12 18 1 13
4 16 12 15
15 1 1 16

输出样例:

A
1

C++源码

#include<cstdio>
#include<cmath>inline int read(){int f=1,s=0;char k=getchar();while(k>'9'||k<'0'){if(k=='-')f=-1,k=getchar();}while(k>='0'&&k<='9'){s=(s<<3)+(s<<1)+k-'0';k=getchar();}return f*s;
}int a,b,n,a1,b1,c1,d1,a2,b2;int main(){a=read(),b=read(),n=read();for(int i=1;i<=n;++i){a1=read(),b1=read(),c1=read(),d1=read();if(((a1+c1)==b1)&&((a1+c1)==d1))continue;if(((a1+c1)==b1)&&((a1+c1)!=d1))a2++;if(((a1+c1)==d1)&&((a1+c1)!=b1))b2++;if(a2==a+1||b2==b+1)break;}if(a2==a+1)printf("A\n%d",b2);else if(b2==b+1)printf("B\n%d",a2);return 0;
}

7-9 作品评分 (10 分)

题面

全国中小学生Scratch作品大赛拉开了序幕。每个参赛选手可以通过网络直接上传作品。本次比赛人人可做评委。每个网络评委可以通过网络对每一件作品进行打分。评分系统也是请程序高手设计的,能自动去掉一个最高分和一个最低分,求出平均分。

输入格式:

输入数据包括两行: 第一行为n,表示n个评委,n>2。
第二行是n个评委的打分,分数之间有一个空格。打分是可以带有小数部分的。

输出格式:

输出平均分,结果保留两位小数。

输入样例:

6
10 9 8 7.9 9 9.5

输出样例:

8.88

C++源码

#include<cstdio>
#include<cmath>
#define max(a,b) (a)>(b)?(a):(b)
#define min(a,b) (a)<(b)?(a):(b)inline int read(){int f=1,s=0;char k=getchar();while(k>'9'||k<'0'){if(k=='-')f=-1,k=getchar();}while(k>='0'&&k<='9'){s=(s<<3)+(s<<1)+k-'0';k=getchar();}return f*s;
}int n,ans,n1;
double sum,ins,maxx,minx,ns;int main(){sum=0,maxx=0,minx=10.0;scanf("%d",&n);n1=n;while(n){scanf("%lf",&ins);maxx=max(maxx,ins);minx=min(minx,ins);sum+=ins;n--;}sum-=maxx,sum-=minx;sum=sum/(n1-2);printf("%.2lf",sum);return 0;
}

本题一开始还想抖机灵,直接粗暴取前2位小数即可,结果调了半天发现除法不是inf就是nan的原因竟然是,我的n是0(麻了

本次练习的反思

我觉得最大的原因还是,我昨天晚上打狒狒14打到四点钟
早上也确实急功近利了,只能说金典老问题了

关于源码中read()函数的说明

read()函数为自行定义的一个快速读入整数的函数,不熟悉快读的朋友可以自行改为scanf()语句。

2021-2022-2-第5次单元练习后记相关推荐

  1. 绿色·智慧·融合:2021/2022年中国城市交通规划年会在上海举办

    来源:城市交通 2022年11月17-18日,2021/2022年中国城市交通规划年会在上海成功举办,会议由中国城市规划学会城市交通规划学术委员会主办,中国城市规划设计研究院承办,上海市城乡建设和交通 ...

  2. 2021—2022学年面向中小学生的全国性竞赛活动名单

    2021-2022学年面向中小学生的 全国性竞赛活动名单 序号 竞赛名称 主办单位 竞赛面向学段 自然科学素养类 1 第五届全国青少年人工智能创新挑战赛 中国少年儿童发展服务中心 小学.初中.高中.中 ...

  3. 李宏毅2021/2022春机器学习课程(机器学习基本概念简介)

    (强推)李宏毅2021/2022春机器学习课程_哔哩哔哩_bilibili 目录 1.机器学习是什么? 2.机器学习任务 2.1 regression回归问题 2.2 classification分类 ...

  4. 第二届中国Rust开发者大会(RustChinaConf 2021~2022)线上大会正式开启报名

    | 转载自:Rust语言中文社区 | 编辑:李佳阳 | 责编:王玥敏 经过紧锣密鼓的筹备后,我们高兴地向大家宣布,第二届中国Rust开发者大会(RustChinaConf  2021~2022)线上大 ...

  5. 2018/2019/2020/2021/2022/2023年度计划阅读书籍(持续更新)

    2018/2019/2020/2021/2022/2023年度计划阅读书籍 1. Java加密与解密的艺术(第二版) 作者:梁栋 在读 2. Spring源码深度解析 作者:郝佳 在读 3. 深入理解 ...

  6. 二维和三维CAD设计Autodesk AutoCAD中文2021/2022/2023

    Autodesk AutoCAD 是全球著名的专业计算机辅助设计软件,用于二维绘图.详细绘制.设计文档和基本三维设计,广泛应用于机械设计.工业制图.工程制图.土木建筑.装饰装潢.服装加工等多个行业领域 ...

  7. 2021~2022年全国考试/考证时间表(最全)

    由于疫情原因,部分考试的时间有调整,请用[微信扫码]查看最新"考试变动通知" 2021~2022年全国考试/考证时间表(最全) 2021年1月 : 托福(TOEFL) 1月9.10 ...

  8. 见证中国云势力崛起,博睿数据实力入围2021~2022 Cloud 100 榜单

    近日,"云势云动新实践,超越星辰现未来"2021~2022云计算生态峰会在北京隆重召开.本次大会由B.P商业伙伴主办,中国开源云联盟.云原生应用现代化联盟协办,同时大会还汇聚了数字 ...

  9. 【深度学习】李宏毅2021/2022春深度学习课程笔记 - Deep Learning Task Tips

    文章目录 一.深度学习步骤回顾 二.常规指导 三.训练过程中Loss很大 3.1 原因1:模型过于简单 3.2 原因2:优化得不好 3.3 原因1 or 原因2 ? 四.训练过程Loss小.测试过程L ...

  10. 2021~2022 学年第二学期《信息安全》考试试题(A 卷)

    北京信息科技大学 2021~2022 学年第二学期<信息安全>考试试题(A 卷) 课程所在学院:计算机学院 适用专业班级:计科1901-06,重修 考试形式:(闭卷) 一.选择题(本题满分 ...

最新文章

  1. R语言可视化包ggplot2改变图例(legend)标签实战
  2. 解决Docker容器 iptables问题
  3. 2020年python工资一般多少钱-2020年Python发展前景如何呢?
  4. Hyper-V 虚拟机快照:常见问题
  5. Qt工作笔记-依赖于QAbstractTableModel实现自定义TableModel
  6. python title函数意义_Python 字符串首字母大写-Python设置字符串首字母大写-python title()作用-python title函数-嗨客网...
  7. IOS6 编程:Core Data持久化数据存储(5)-使用Core Data模板创建EntLibCart项目
  8. iOS 使用FMDB进行数据库操作
  9. sql 怎么查一个账号连续登录失败的次数_黑客到底是怎么入侵的,我展示给你看...
  10. Dynamics CRM 2013 初体验(5):Business Rule
  11. 进阶:案例三: Upload File using WebDynpro
  12. Selenium FirePath的安装和使用
  13. mac 中用到的svn命令 持续更新
  14. MySQL内存表的特性与使用介绍 -- 简明现代魔法
  15. spark graphx实现共同好友的聚合
  16. XRouter 一个轻量级的Android路由框架,基于ARouter上进行改良,优化Fragment的使用,可结合XPage使用
  17. 《markdown》语雀导出markdown的图片外链问题
  18. Linux上启动mysql不成功
  19. HoloCubic-稚晖君开源项目制作心得
  20. android 电视qq视频,腾讯视频电视版安

热门文章

  1. 鹰偶尔飞的比鸡低,但鸡永远也飞不了鹰那么高!
  2. Meta在西雅图东区又双叒叕买楼了!
  3. ADONIS、ANOSIM、Mangel_test、MRPP
  4. 【小白初学者】项目中遇到步进电机,别慌,照着改
  5. Android stuido 解决Caused by: android.view.InflateException: Binary XML file line #8: Binary XML file
  6. 信息安全之汇编语言学习(2)。。。。
  7. 计算机学生英语面试自我介绍ppt,三星面试英语自我介绍.ppt
  8. oracle java.sql.SQLException: 列名无效
  9. web服务器创建站点,服务器:如何使用IIS建立网站
  10. 鲍尔默密会快船老板娘,微软前CEO要玩球