PAT乙級1012 數字分類
阿新 • • 發佈:2018-12-01
1012. 數字分類 (20)
時間限制 100 ms記憶體限制 65536 kB
程式碼長度限制 8000 B
判題程式 Standard 作者 CHEN, Yue
給定一系列正整數,請按要求對數字進行分類,並輸出以下5個數字:
輸入格式:
每個輸入包含1個測試用例。每個測試用例先給出一個不超過1000的正整數N,隨後給出N個不超過1000的待分類的正整數。數字間以空格分隔。
輸出格式:
對給定的N個正整數,按題目要求計算A1~A5並在一行中順序輸出。數字間以空格分隔,但行末不得有多餘空格。
若其中某一類數字不存在,則在相應位置輸出“N”。
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> #define size 6 #include <string.h> int main(void) { int count[size]; int sum[size]; memset(count, 0, sizeof(count)); memset(sum, 0, sizeof(sum)); int num; scanf("%d", &num); int sign = 1; while (num--) { int a; scanf("%d", &a); if (a % 5 == 0 && a % 2 == 0) { sum[1] += a; count[1]=1; } else if (a%5 == 1) { count[2] = 1; a*= sign; sum[2] +=a; sign = -sign; } else if (a % 5 == 2) { count[3]=1; sum[3]++; } else if (a % 5 == 3) { sum[4] += a; count[4]++; } else if(a%5==4) { if (a > sum[5]) { sum[5] = a; } count[5] = 1; } } int pause = 1; for (int i = 1; i < size; i++) { if (pause) { pause = 0; } else { printf(" "); } if (i == 4) { if (count[4]) { printf("%.1lf", sum[4] * 1.0 / count[4]); } else { printf("N"); } continue; } if (count[i] == 0) { printf("N"); } else { printf("%d", sum[i]); } } return 0; }