本題要求讀入n名學生的成績,將獲得某一給定分數的學生人數輸出。
輸入格式:
輸入在第1行給出不超過105的正整數n,即學生總人數。隨後1行給出n名學生的百分制整數成績,中間以空格分隔。最後1行給出要查詢的分數個數k(不超過n的正整數),隨後是k個分數,中間以空格分隔。
輸出格式:
在一行中按查詢順序給出得分等於指定分數的學生人數,中間以空格分隔,但行末不得有多餘空格。
輸入樣例:
1060 75 90 55 75 99 82 90 75 50
3 75 90 88
輸出樣例:
3 2 0
#對於關聯資料,當資料種類不多時完全可以用陣列作為儲存方式。每種資料表示為陣列下標。特別當要關聯的資料是次數,使用陣列更為方便。arr[data]+=1;
#include
#include
#include
#include
#include
using
namespace
std;
int main()
; int search[100000]=;
int tmp;
for(int i=0;icin>>tmp;
grades[tmp]+=1;
}cin>>k;
for(int i=0;icin>>search[i];
}for(int i=0;iprintf("%d%s",grades[search[i]],(i!=k-1?" ":""));
} return
0;}
PAT乙級 1038 統計同成績學生
本題要求讀入 n 名學生的成績,將獲得某一給定分數的學生人數輸出。輸入在第 1 行給出不超過 105的正整數 n,即學生總人數。隨後一行給出 n 名學生的百分制整數成績,中間以空格分隔。最後一行給出要查詢的分數個數 k 不超過 n 的正整數 隨後是 k 個分數,中間以空格分隔。在一行中按查詢順序給出...
PAT乙級1038 統計同成績學生
開始 把所有成績都存進陣列,需要查詢的成績存進陣列,然後去匹配 尋找,找到則相應的個數加一。方法太low,雙層for迴圈超時。時間複雜度在n n 看了題解 成績是在乙個範圍內的,建立乙個101的陣列,每讀取乙個成績,相應的下標對應的值就加一,這樣在讀取的時候就完成了資料的統計,最後想要那個數出現的次...
PAT 乙級 1038 統計同成績學生 20
本題要求讀入n名學生的成績,將獲得某一給定分數的學生人數輸出。輸入格式 輸入在第1行給出不超過105的正整數n,即學生總人數。隨後1行給出n名學生的百分制整數成績,中間以空格分隔。最後1行給出要查詢的分數個數k 不超過n的正整數 隨後是k個分數,中間以空格分隔。輸出格式 在一行中按查詢順序給出得分等...