博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1012 数字分类 (20 分)
阅读量:5292 次
发布时间:2019-06-14

本文共 1360 字,大约阅读时间需要 4 分钟。

给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:

A

​1
​​ = 能被 5 整除的数字中所有偶数的和;
A
​2
​​ = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n
​1
​​ −n
​2
​​ +n
​3
​​ −n
​4
​​ ⋯;
A
​3
​​ = 被 5 除后余 2 的数字的个数;
A
​4
​​ = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
A
​5
​​ = 被 5 除后余 4 的数字中最大数字。
输入格式:
每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数 N,随后给出 N 个不超过 1000 的待分类的正整数。数字间以空格分隔。

输出格式:

对给定的 N 个正整数,按题目要求计算 A
​1
​​ ~A
​5
​​ 并在一行中顺序输出。数字间以空格分隔,但行末不得有多余空格。

若其中某一类数字不存在,则在相应位置输出 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

#include
int main() { int n, num, A1 = 0, A2 = 0, S2 = 0, A3 = 0, A5 = 0; float A4 = 0.0, S4 = 0.0; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &num); if (num % 5 == 0 && num % 2 == 0) A1 += num; if (num % 5 == 1) { S2 += 1; if (S2 % 2 == 0) A2 -= num; else A2 += num; } if (num % 5 == 2) A3++; if (num % 5 == 3) { A4 += num; S4++; } if (num % 5 == 4 && num > A5) A5 = num; } if (A1 == 0) printf("N "); else printf("%d ", A1); if (S2 == 0) printf("N "); else printf("%d ", A2); if (A3 == 0) printf("N "); else printf("%d ", A3); if (S4 == 0) printf("N "); else printf("%.1f ", A4 / S4); if (A5 == 0) printf("N\n"); else printf("%d\n", A5); return 0;}

转载于:https://www.cnblogs.com/Yaxadu/p/10337289.html

你可能感兴趣的文章
元素的offsetParent offsetLeft offsetTop属性
查看>>
NOI2015
查看>>
生成器表达式
查看>>
第三天运算符--三元操作符
查看>>
C#学习笔记-输入数据判断(int、double、string)
查看>>
uva 10881
查看>>
ubuntu node.js Binaries方式安装(二进制文件安装)
查看>>
Ansible Ad-Hoc Commands
查看>>
sql 修改字段小记
查看>>
现代浏览器的工作原理
查看>>
完美CSS文档的8个最佳实践
查看>>
扒一扒.NET Core的环境配置提供程序
查看>>
python基础之ATM-2
查看>>
《20170926-构建之法:现代软件工程-阅读笔记》
查看>>
js中for循环闭包问题记录
查看>>
关于xxx.h file not found 的问题
查看>>
CS224n学习资源汇总
查看>>
部署web Service到tomcat
查看>>
java使用sax解析xml
查看>>
20个常用正则表达式
查看>>