PTA 基础题练习8
1. 出生年
新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。”也就是说,直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求,自动填充“我出生于
y
年,直到x
岁才遇到n
个数字都不相同的年份”这句话。输入格式:
输入在一行中给出出生年份
y
和目标年份中不同数字的个数n
,其中y
在[1, 3000]之间,n
可以是2、或3、或4。注意不足4位的年份要在前面补零,例如公元1年被认为是0001年,有2个不同的数字0和1。输出格式:
根据输入,输出
x
和能达到要求的年份。数字间以1个空格分隔,行首尾不得有多余空格。年份要按4位输出。注意:所谓“n
个数字都不相同”是指不同的数字正好是n
个。如“2013”被视为满足“4位数字都不同”的条件,但不被视为满足2位或3位数字不同的条件。输入样例1:
1988 4
输出样例1:
25 2013
输入样例2:
1 2
输出样例2:
0 0001
year, n = map(int, input().strip().split())
if 1 <= year <= 3000 and n in [2, 3, 4]:i = yearcount = 0# 不足4位补0,转集合,实现去重# 所谓“n个数字都不相同”是指不同的数字正好是n个while len(set(str(i).rjust(4, '0'))) != n:i += 1count += 1print(f'{count} {str(i).rjust(4, "0")}')
2. 吃鱼还是吃肉
国家给出了 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!
#include <stdio.h>
#include <string.h>typedef struct Child
{int sex; // 性别int height; // 身高int weight; // 体重char suggest[30]; // 建议
};int main()
{int n;scanf("%d", &n);struct Child child[n];for(int i=0; i<n; i++){scanf("%d %d %d", &child[i].sex, &child[i].height, &child[i].weight);}for(int i=0; i<n; i++){// 判断性别if (child[i].sex == 1){// 评价身高if (child[i].height == 130)strcpy(child[i].suggest, "wan mei!");if (child[i].height < 130)strcpy(child[i].suggest, "duo chi yu!");if (child[i].height > 130)strcpy(child[i].suggest, "ni li hai!");// 评价体重if (child[i].weight == 27)strcat(child[i].suggest, " wan mei!");if (child[i].weight < 27)strcat(child[i].suggest, " duo chi rou!");if (child[i].weight > 27)strcat(child[i].suggest, " shao chi rou!");}else{// 评价身高if (child[i].height == 129)strcpy(child[i].suggest, "wan mei!");if (child[i].height < 129)strcpy(child[i].suggest, "duo chi yu!");if (child[i].height > 129)strcpy(child[i].suggest, "ni li hai!");// 评价体重if (child[i].weight == 25)strcat(child[i].suggest, " wan mei!");if (child[i].weight < 25)strcat(child[i].suggest, " duo chi rou!");if (child[i].weight > 25)strcat(child[i].suggest, " shao chi rou!");}}for(int i=0; i<n; i++){printf("%s\n", child[i].suggest);}return 0;
}
3. 互评成绩
学生互评作业的简单规则是这样定的:每个人的作业会被
k
个同学评审,得到k
个成绩。系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。输入格式:
输入第一行给出3个正整数
N
(3 <N
≤104,学生总数)、k
(3 ≤k
≤ 10,每份作业的评审数)、M
(≤ 20,需要输出的学生数)。随后N
行,每行给出一份作业得到的k
个评审成绩(在区间[0, 100]内),其间以空格分隔。输出格式:
按非递减顺序输出最后得分最高的
M
个成绩,保留小数点后3位。分数间有1个空格,行首尾不得有多余空格。输入样例:
6 5 3 88 90 85 99 60 67 60 80 76 70 90 93 96 99 99 78 65 77 70 72 88 88 88 88 88 55 55 55 55 55
输出样例:
87.667 88.000 96.000
n, k, m = map(int, input().strip().split())
if (3 < n <= 10000) and (3 <= k <= 10) and m <= 20:averages = []for i in range(n):scores = [int(i) for i in input().strip().split() if (0 <= int(i) <= 100)]# 去掉一个最高分和一个最低分new_scores = sorted(scores)[1:-1]# print(scores)sum = 0for i in new_scores:sum += i# print(len(scores))# 求平均值average = (sum * 1.0) / (len(new_scores))# print(average)# 添加到列表averages.append(average)# 对平均值列表进行排序averages = sorted(averages)for i in range(n-m, n):if i != n-1:# 保留小数点后3位print('%.3f' % averages[i], end=' ')else:print('%.3f' % averages[i])
PTA 基础题练习8相关推荐
- PTA基础题考点汇总
一:字符串(数组)的逆序,栈的方法 **字符串数组的逆序 : ** 标准容器库的知识:定义stack容器于字符串:stackv; string s: //这里用到了c++中stl(标准容器库的知识)s ...
- PTA基础题练习-就不告诉你
PTA-就不告诉你 做作业的时候,邻座的小盆友问你:"五乘以七等于多少?"你应该不失礼貌地围笑着告诉他:"五十三."本题就要求你,对任何一对给定的正整数,倒着输 ...
- PTA寒假基础题训练(含解题思路)(下)
目录 7-36 字符串的冒泡排序 AC代码: 7-37 龟兔赛跑 AC代码: 7-38 N个数求和 AC代码: 7-39 数列求和-加强版 AC代码: 7-40 抓老鼠啊~亏了还是赚了? AC代码: ...
- PTA寒假基础题训练(含解题思路)(中)
目录 7-19 两个有序单链表求差集 AC代码: 7-20 统计数字字符和空格 AC代码: 7-21 打印沙漏 AC代码: 7-22 Wifi密码 AC代码: 7-23 福到了 AC代码: 7-24 ...
- 拼题A (PTA) 公共题集题解收录
仓库地址:PTA: 拼题A(PTA)公共题集的题解 (github.com) 该仓库收录 拼题A 公共习题的题解,绝大部分习题都是本人自己的原创代码,如有错误的代码可提交 Issue 推荐使用我开发的 ...
- PTA 基础编程题目集 6-6 求单链表结点的阶乘和
PTA 基础编程题目集 6-6 求单链表结点的阶乘和 本题要求实现一个函数,求单链表L结点的阶乘和.这里默认所有结点的值非负,且题目保证结果在int范围内. 函数接口定义: int Factorial ...
- PTA 基础编程题目集 7-27 冒泡法排序 C语言
PTA 基础编程题目集 7-27 冒泡法排序 C语言 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一 ...
- PTA 基础编程题目集 7-33 有理数加法 C语言
PTA 基础编程题目集 7-33 有理数加法 C语言 本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范 ...
- PTA 基础编程题目集 7-24 约分最简分式 C语言
PTA 基础编程题目集 7-24 约分最简分式 C语言 分数可以表示为分子/分母的形式.编写一个程序,要求用户输入一个分数,然后将其约分为最简分式.最简分式是指分子和分母不具有可以约分的成分了.如6/ ...
最新文章
- 用这种方式,我每次都是朋友圈里第一个预见AI科技趋势的人
- java gridbag_java – 调整Gridbag布局
- 22Java之JDBCTemplate总结
- 众成翻译2.0上线,翻译即有机会获赠图书
- 真实的用户,真实的中国互联网
- spring securiy使用总结
- silk lobe资源公众号_【好设计资源库】公众号素材获取方式说明
- unbuntu下gedit编辑花屏(重影 )问题解决
- 【前端性能】浅谈域名发散与域名收敛
- 数据结构与算法-初识树和图
- sql分组 会计分录_会计科目是对()具体内容进行分类核算的项目。A.会计主体B.会计帐户C.会计分录D.会计对象...
- mysql 缓冲区溢出_MariaDB缓冲区溢出漏洞
- tekton taskrun资源
- python之网页自动打卡
- Access denied for user ‘‘@‘localhost‘ to database ‘mysql‘
- 海鸥算法的改进及其在工程设计优化问题中的应用
- 带计算机笔记本电脑,笔记本电脑的充电器忘记带了怎么处理
- PS金属徽章胸章效果图案生成制作插件教程
- 无法启动此程序 因为计算机中丢失xlive,电脑玩光环2游戏丢失xlive.dll文件无法启动怎么办...
- AD10 层相关操作【视图从底层往顶层看】【层切换】【层切换的快捷键的使用】【 阻焊层solder与助悍层paste】【增加机械层】
热门文章
- android 9.0 SystemUI导航栏添加虚拟按键功能(一)
- JS获取粘贴板中的图片进行展示和上传
- win10如何截屏_Win10“截图和草图”功能体验,能取代微信QQ截图吗?
- 真正不需要网关的智能门锁——NBIoT智能门锁
- java 小数截断_我怎样才能截断在Java中的双精度到只有两位小数?
- 保研夏令营/预推免联系导师
- Web使用HarmonyOS字体的压缩方案
- 天鸽年营收超8亿,为何战略投资月活1000万+的花椒直播
- iOS 学习资料整理(中文版)
- Q_DISABLE_COPY、Q_DISABLE_MOVE、Q_DISABLE_COPY_MOVE用法详解及总结