1012 数字分类
Statement
Metadata
- 作者: CHEN, Yue
- 单位: 浙江大学
- 代码长度限制: 16 KB
- 时间限制: 400 ms
- 内存限制: 64 MB
给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:
= 能被 5 整除的数字中所有偶数的和; = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 ; = 被 5 除后余 2 的数字的个数; = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位; = 被 5 除后余 4 的数字中最大数字。
输入格式
每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数
输出格式
对给定的
若分类之后某一类不存在数字,则在相应位置输出 N
。
输入样例 1
输出样例 1
输入样例 2
输出样例 2
Solution
#include <limits.h>
#include <stdio.h>
int main() {
int total1 = 0, total2 = 0;
double total4 = 0;
int count1 = 0, count2 = 0, count3 = 0, count4 = 0, count5 = 0;
int n;
int max = INT_MIN;
scanf("%d", &n);
int num[n];
int i;
for (i = 0; i < n; i++) {
scanf("%d", &num[i]);
if (num[i] % 10 == 0) {
count1++;
total1 += num[i];
} else if (num[i] % 5 == 1) {
count2++;
if (count2 % 2)
total2 += num[i];
else
total2 -= num[i];
} else if (num[i] % 5 == 2)
count3++;
else if (num[i] % 5 == 3) {
count4++;
total4 += num[i];
} else if (num[i] % 5 == 4) {
count5++;
if (num[i] > max)
max = num[i];
}
}
if (count1)
printf("%d", total1);
else
printf("N");
if (count2)
printf(" %d", total2);
else
printf(" N");
if (count3)
printf(" %d", count3);
else
printf(" N");
if (count4)
printf(" %.1f", total4 / count4);
else
printf(" N");
if (count5)
printf(" %d", max);
else
printf(" N");
printf("\n");
}
Last update: May 4, 2022