本題要求讀入n名學生的成績,將獲得某一給定分數的學生人數輸出。
輸入格式:
輸入在第1行給出不超過105的正整數n,即學生總人數。隨後1行給出n名學生的百分制整數成績,中間以空格分隔。最後1行給出要查詢的分數個數k(不超過n的正整數),隨後是k個分數,中間以空格分隔。
輸出格式:
在一行中按查詢順序給出得分等於指定分數的學生人數,中間以空格分隔,但行末不得有多餘空格。
輸入樣例:
10輸出樣例:60 75 90 55 75 99 82 90 75 50
3 75 90 88
3 2 0
分析:
有些題目··就是對有些語言不友好。這道題的思路其實就是用乙個int[101]陣列代表不同分數,出現乙個分數只要去查詢這個陣列就好了。但是!c#!處理輸入太慢···自己寫了處理輸入的演算法,還是超時···真是無語了
不過通過這道題目也知道了乙個知識點,windows系統中,換行是用\r\n的,別的是用\n,所以要注意哦~這裡用的版本是用來測試的(伺服器應該是linux),windows上測試的話,用vs要把\n替換成\r
using system;
namespace pat
static void getstudentgrades()
grade[int.parse(number)]++;
number = "";
if (ch == '\n' )
break;
ch = (char)console.read();}}
static void getquerygrades()
int querttimes = int.parse(number);
string msg = "";
number = "";
ch = (char)console.read();
int i = 0;
while (i < querttimes)
msg += grade[int.parse(number)] + " ";
number = "";
if (ch == '\n')
break;
ch = (char)console.read();
i++;
}console.write(msg.trimend());}}
}
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個分數,中間以空格分隔。輸出格式 在一行中按查詢順序給出得分等...