PAT (Basic Level) Practise:1012. 数字分类
【题目链接】
给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:
- A1 = 能被5整除的数字中所有偶数的和;
- A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...;
- A3 = 被5除后余2的数字的个数;
- A4 = 被5除后余3的数字的平均数,精确到小数点后1位;
- A5 = 被5除后余4的数字中最大数字。
输入格式:
每个输入包含1个测试用例。每个测试用例先给出一个不超过1000的正整数N,随后给出N个不超过1000的待分类的正整数。数字间以空格分隔。
输出格式:
对给定的N个正整数,按题目要求计算A1~A5并在一行中顺序输出。数字间以空格分隔,但行末不得有多余空格。
若其中某一类数字不存在,则在相应位置输出“N”。
输入样例1:
13 1 2 3 4 5 6 7 8 9 10 20 16 18
输出样例1:
30 11 2 9.7 9
输入样例2:
8 1 2 4 5 6 7 9 16
输出样例2:
N 11 2 N 9
提交代码:
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int cnt, num; 6 int a1, a2, a3, a4, a5; 7 int i, xor, a2_flag, a4_cnt; 8 9 scanf("%d", &cnt); 10 11 a1 = a2 = a3 = a4 = a5 = 0; 12 13 xor = 1; 14 a2_flag = 0; 15 a4_cnt = 0; 16 17 for(i = 0; i < cnt; i++) 18 { 19 scanf("%d", &num); 20 if(num % 10 == 0) 21 { 22 a1 += num; 23 } 24 25 if(num % 5 == 1) 26 { 27 a2 += (xor == 1 ? num : -num); 28 xor ^= 1; 29 a2_flag = 1; 30 } 31 32 if(num % 5 == 2) 33 { 34 a3 += 1; 35 } 36 37 if(num % 5 == 3) 38 { 39 a4 += num; 40 a4_cnt += 1; 41 } 42 43 if(num % 5 == 4) 44 { 45 if(num > a5) 46 a5 = num; 47 } 48 } 49 50 //printf(a1 == 0 ? "%c " : "%d ", a1 == 0 ? 'N' : a1); 51 if(a1 == 0) 52 printf("N "); 53 else 54 printf("%d ", a1); 55 56 //printf(a2_flag == 0 ? "%c " : "%d ", a2_flag == 0 ? 'N' : a2); 57 if(a2_flag == 0) 58 printf("N "); 59 else 60 printf("%d ", a2); 61 62 //printf(a3 == 0 ? "%c " : "%d ", a3 == 0 ? 'N' : a3); 63 if(a3 == 0) 64 printf("N "); 65 else 66 printf("%d ", a3); 67 68 //printf(a4 == 0 ? "%c " : "%.1f ", a4 == 0 ? 'N' : (float)a4/a4_cnt); 69 if(a4 == 0) 70 printf("N "); 71 else 72 printf("%.1f ", (float)a4/a4_cnt); 73 74 75 //printf(a5 == 0 ? "%c" : "%d", a5 == 0 ? 'N': a5); 76 if(a5 == 0) 77 printf("N"); 78 else 79 printf("%d", a5); 80 81 return 0; 82 }
转载于:https://www.cnblogs.com/utank/p/4755601.html
PAT (Basic Level) Practise:1012. 数字分类相关推荐
- PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)
PAT (Basic Level) Practise (中文)-1025. 反转链表 (25) http://www.patest.cn/contests/pat-b-practise/1025 ...
- PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20)
PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20) http://www.patest.cn/contests/pat-b-practise/1034 ...
- 卡拉兹(Callatz)猜想,PAT(Basic Level) Practise NO.1001
PAT(Basic Level) Practise NO.1001 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半. 这样 ...
- PAT乙级真题全集-PAT (Basic Level) Practise (中文)
1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去, ...
- PAT (Basic Level) Practise 1040 有几个PAT(DP)
1040. 有几个PAT(25) 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 字符串APPAPT中包含了两个单 ...
- PAT (Basic Level) Practise - 继续(3n+1)猜想
题目链接:https://www.patest.cn/submissions/4414905 1005. 继续(3n+1)猜想 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限 ...
- PAT (Basic Level) 1075 链表元素分类(模拟)
题目链接:点击查看 题目大意:初始时给出一个链表,需要按照要求排序: 当结点中的值为负数时,需要排在最前面 当结点中的值为非负数且小于阈值k时,排在中间 当结点中的值大于阈值k时,排在最后 在整体排序 ...
- PAT (Basic Level) 1044 火星数字(模拟)
题目链接:点击查看 题目大意:现在规定火星文为十三进制的数字,十位和个位的数都给出(都表示为字符串的形式),现在给出n个询问,每次给出火星文或数字,请输出转换后的结果 题目分析:先强调一个小细节需要注 ...
- PAT (Basic Level) Practise 1045 快速排序(离散化+主席树区间内的区间求和)
1045. 快速排序(25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 著名的快速排序算法里有一个经典的划分 ...
最新文章
- 什么是动态DNS 动态DNS有什么用
- Windows7关闭休眠
- 逐行阅读redux源码(二)combineReducers
- 出现should be mapped with insert=“false“ update=“false“的解决方法
- MAT之PSO:利用PSO+ω参数实现对一元函数y = sin(10*pi*x) ./ x进行求解优化,找到最优个体适应度
- XslTransform.Transform方法将结果输出到字符串
- Mod, Or and Everything HDU - 6950
- python遗传算法工具箱的使用_遗传算法的python实现,非常值得看的一篇文章
- 【纠错记录】本地FTP服务器无法被外部连接
- 计算机软考高级论文,非IT专业,写论文太难了!怎么一次考过软考高项?
- puttygen convert ppk file to xshell key file
- UWP 应用通知Notifications
- .NET Core 新手上路
- html上绑定回车事件,js/jquery中input 绑定回车enter事件的代码
- 用java实现首字母大写_java实现每个单词首字母大写
- vue兼容IE 360
- 怎样连接网站的服务器ipad,ipad可以连接云服务器地址
- python怎样使用各个日期赤纬_Python常用的日期时间处理方法示例
- u9服务器系统,U9服务器选型和部署方案doc .doc
- 三菱fx2n做从站的modbus通讯_三菱Q系列和FX2N系列进行CCLink通讯(主站和智能设备站的通讯)...