不知到各位有没有简便方法 数字分类 (20分)
输入样例 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 <stdio.h> #include <stdlib.h> #define MAX 1000 int main(void) { int num[MAX]; float n[5] = {0}; int count = 0, sum = 0,flag=0; int m, max = 0, sign = 1; scanf("%d", &m); for (int i = 0; i < m; i++) { scanf("%d", &num[i]); if (num[i] % 5 == 0 && num[i] % 2 == 0) { n[0] += num[i]; } if (num[i] % 5 == 1) { flag=1; n[1] += sign * num[i]; sign *= -1; } if (num[i] % 5 == 2) { n[2]++; } if (num[i] % 5 == 3) { count++; sum += num[i]; } if (num[i] % 5 == 4) { if (num[i] > max) { max = num[i]; n[4] = max; } } } if(count!=0) n[3] = 1.0 * sum / count; for (int i = 0; i < 5; i++) { if (n[i] != 0&& i!=1) { if (i == 3) printf("%.1f", n[i]); else { printf("%.0f", n[i]); } } else if(i==1&&flag!=0) { printf("%.0f",n[i]); } else { printf("%c",'N'); } if (i < 4) { printf(" "); } else { printf(""); } } system("pause"); return 0; }