网站搭建系列教程,软装设计公司名称,wordpress iphoto,网站建设毕设1012 数字分类 (20分)
给定一系列正整数#xff0c;请按要求对数字进行分类#xff0c;并输出以下 5 个数字#xff1a; A 1 能被 5 整除的数字中所有偶数的和#xff1b; A 2 将被 5 除后余 1 的数字按给出顺序进行交错求和#xff0c;即计算 n 1 …1012 数字分类 (20分)
给定一系列正整数请按要求对数字进行分类并输出以下 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
由于当时c不会导致代码复杂不多说直接上柳神代码 #include iostream
#include vector
using namespace std;
int main() {int n, num, A1 0, A2 0, A5 0;//A1表示能被 5 整除的数字中所有偶数的和//A2表示被 5 除后余 1 的数字按给出顺序进行交错求和//A5表示被 5 除后余 4 的数字中最大数字。double A4 0.0;//A4表示 被 5 除后余 3 的数字的平均数精确到小数点后 1 位doublecin n;vectorint v[5];//定义5个数组分别存储不同类别的数相当于v[5][]的二维数组。for (int i 0; i n; i) {cin num;v[num%5].push_back(num);//非常巧妙直接利用余数进行分类}for (int i 0; i 5; i) {for (int j 0; j v[i].size(); j) {if (i 0 v[i][j] % 2 0) A1 v[i][j];//整除if (i 1 j % 2 0) A2 v[i][j];//利用下标来判断加减if (i 1 j % 2 1) A2 - v[i][j];//if (i 3) A4 v[i][j];//余3if (i 4 v[i][j] A5) A5 v[i][j];}}for (int i 0; i 5; i) {if (i ! 0) printf( );if (i 0 A1 0 || i ! 0 v[i].size() 0) {printf(N); continue;}if (i 0) printf(%d, A1);if (i 1) printf(%d, A2);if (i 2) printf(%d, v[2].size());if (i 3) printf(%.1f, A4 / v[3].size());if (i 4) printf(%d, A5);}return 0;
}这个是我的不建议阅读
#includeiostream
#includevector
using namespace std;
int main()
{int n, x, sum_1 0, count 0, sum_av 0,count_av0,number0,sum_20,z0;double y;vectorintv;cin n;for (int i 0; i n; i){cin x;v.push_back(x);}for (int i 0; i v.size(); i){if (v[i] % 5 0 v[i] % 2 0){sum_1 v[i];}if (v[i] % 5 1){z;if (z % 2 ! 0){sum_2 v[i];}else{sum_2 - v[i];}}if (v[i] % 5 2){count;}if (v[i] % 5 3){sum_av v[i];count_av;}if (v[i] % 5 4){if (v[i] number){number v[i];}}}if (sum_1 0){cout N;}else{cout sum_1;}if (z 0){cout N;}else{cout sum_2;}if (count 0){cout N;}else{cout count;}if (count_av 0){cout N;}else{printf( %.1f, double(sum_av) / count_av);}if (number 0){cout N;}else{cout number;}}