1012. 数字分类 (20)
来源:互联网 发布:淘宝卖家一个月不发货 编辑:程序博客网 时间:2024/04/30 21:51
本题要求:
给定一系列正整数,请按要求对数字进行分类,并输出以下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”。
输入样例:
13 1 2 3 4 5 6 7 8 9 10 20 16 18
输出样例:
30 11 2 9.7 9
解题思路 :
注意输出格式就可以了。
代码 :
#include<iostream>#include<cstring>#include<cmath>#include<cstdio>#include<algorithm>using namespace std;int main() { int n; cin >> n; int a[5] = {0}; bool b[5]; for (int i = 0; i < 5; i++) { b[i] = false; } int a3 = 0; bool a1 = true; for (int i = 0; i < n; i++) { int temp; cin >> temp; int c = temp % 5; switch(c) { case 0: if (temp % 2 == 0) { a[0] += temp; b[0] = true; } break; case 1: b[1] = true; if (a1) { a[1] += temp; a1 = false; } else { a[1] -= temp; a1 = true; } break; case 2: b[2] = true; a[2]++; break; case 3: b[3] = true; a[3] += temp; a3++; break; case 4: b[4] = true; if (temp > a[4]) { a[4] = temp; } break; } } for (int i = 0; i < 5; i++) { if (i != 0) { cout << " "; } if (b[i]) { if (i != 3) { cout << a[i]; } else { double t = a[i] / (double)a3; printf("%.1lf",t); } } else { cout << "N"; } } return 0;}
0 0
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 1012. 数字分类 (20)
- 我的科研生活2017-3-13
- js-getAttribute与setAttribute的用法
- 39.平衡二叉树
- Android基础之Service
- 关于spfa 判断负环
- 1012. 数字分类 (20)
- Mac下安装VirtualBox5.1并在VirtualBox中安装CentOS 7.3
- Levenshtein distance最小编辑距离算法实现
- 在maven本地仓库中添加oracle的jdbc驱动。
- 归并排序最直观的示意图
- javaScript类型转换
- onBackPressed的用法的文章
- C++第2次实验报告项目3:定期存款利息计算器
- MyEclipse 15中项目导入10中报错