PAT 乙級 1038 統計同成績學生 20

2021-07-25 20:42:24 字數 1229 閱讀 8683

本題要求讀入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個分數,中間以空格分隔。輸出格式 在一行中按查詢順序給出得分等...