PAT 乙級 1004 成績排名

2021-08-21 18:32:12 字數 1282 閱讀 9613

1004 成績排名 (20)

讀入n名學生的姓名、學號、成績,分別輸出成績最高和成績最低學生的姓名和學號。

輸入格式:每個測試輸入包含1個測試用例,格式為\

第1行:正整數n

第2行:第1個學生的姓名 學號 成績

第3行:第2個學生的姓名 學號 成績

... ... ...

第n+1行:第n個學生的姓名 學號 成績

其中姓名和學號均為不超過10個字元的字串,成績為0到100之間的乙個整數,這裡保證在一組測試用例中沒有兩個學生的成績是相同的。

輸出格式:對每個測試用例輸出2行,第1行是成績最高學生的姓名和學號,第2行是成績最低學生的姓名和學號,字串間有1空格。

輸入樣例:

3

joe math990112 89

mike cs991301 100

mary ee990830 95

輸出樣例:

mike cs991301

joe math990112

這一題考察字串的操作

gets(s)函式與scanf("%s:",&s)/* scanf("%s",s) */相似,但不完全相同,使用scanf("%s",s);函式輸入字串時存在乙個問題,就是如果輸入了空格會認為字串結束,空格後的字元將作為下乙個輸入項處理,但gets()函式將接收輸入的整個字串直到遇到換行為止。
scanf()和gets()連用會出錯,需要注意

輸入乙個數字,按下enter鍵。那麼%d讀取數字,gets讀取按下的enter鍵,即換行。

可以在gets前面加一句getchar();來讀取換行。

#include int main()

//record marks

name[j][i--] = '\0';

while(i >= 0) //record name and number

j++;

n--;

}//i++; //現在i = -1,令其等於0

i = 0;

while(j > 0)

printf("%s\n",name[max]);

printf("%s\n",name[min]);

return 0;

}

PAT(乙級) 1004 成績排名

題目 讀入n名學生的姓名 學號 成績,分別輸出成績最高和成績最低學生的姓名和學號。輸入格式 每個測試輸入包含1個測試用例,格式為 第1行 正整數n 第2行 第1個學生的姓名 學號 成績 第3行 第2個學生的姓名 學號 成績 第n 1行 第n個學生的姓名 學號 成績其中姓名和學號均為不超過10個字元的...

PAT乙級1004 成績排名

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 讀入n名學生的姓名 學號 成績,分別輸出成績最高和成績最低學生的姓名和學號。輸入格式 每個測試輸入包含1個測試用例,格式為 第1行 正整數n 第2行 第1個學生的姓名 學...

PAT乙級 1004 成績排名

1004.成績排名 讀入n名學生的姓名 學號 成績,分別輸出成績最高和成績最低學生的姓名和學號。輸入格式 每個測試輸入包含1個測試用例,格式為 第1行 正整數n 第2行 第1個學生的姓名 學號 成績 第3行 第2個學生的姓名 學號 成績 第n 1行 第n個學生的姓名 學號 成績其中姓名和學號均為不超...