題要求讀入 N 名學生的成績,將得到某一給定分數的學生人數輸出。 輸入格式: 輸入在第 1 行給出不超過 10^5 的正整數 N,即學生總人數。隨後一行給出 N 名學生的百分制整數成績,中間以空格分隔。最後一行給出要查詢的分數個數 K(不超過 N 的正整數),隨後是 K 個分數,中間以空格分隔。 輸出格式: 在一行中按查詢順序給出得分等於指定分數的學生人數,中間以空格分隔,但行末不得有多餘空格。 輸入樣例: 10 60 75 90 55 75 99 82 90 75 50 3 75 90 88 輸出樣例: 3 2 0
// PAT_1038_COUNT_GRADES_02 // 運行超時,用空間換時間 # include <stdio.h> # include <stdlib.h> # define Max 110 int main(void) { int n, k; int i; int val; scanf("%d",&n); int Grades[110]; // 將成績數組初始化爲0,表明給分數有多少人 for (i=0; i<Max; i++) { Grades[i] = 0; } // 記錄每一個分數的人數 for (i=0; i<n; i++) { scanf("%d",&val); Grades[val] ++; } scanf("%d",&k); for (i=0; i<k; i++) { scanf("%d",&val); // 查找 printf("%d",Grades[val]); // 控制輸出格式 if (i != k-1) printf(" "); } return 0; }
RRR數組