題目概述:
讀入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
思路:
輸入組數
用結構體儲存資訊,比較成績,輸出即可
get:
直接用max和min進行標記更方便快捷
#include
int num = 0; //記錄組數
int numstu = 0;
int max = -1, min = 101;
int nomax, nomin;
typedef
struct
infstu;
int main()
if (stu[i].grade < min) */
}//氣泡排序->降序,測試不過
for (int i = 0; i < numstu-1; i++)}}
printf("%s %s\n", stu[0].name, stu[0].number); //最高成績的姓名的學號
printf("%s %s\n", stu[numstu-1].name, stu[numstu-1].number); //最低成績的姓名和學號
return
0;}
這道題其實完全沒必要排序,只需要用max和min進行標記,在輸入資料的時候進行比較就好了,這樣對於時間肯定節省了不少。注意題目空間的大小,可能因為空間不足而報錯。 PAT 1004 成績排名 20
讀入n名學生的姓名 學號 成績,分別輸出成績最高和成績最低學生的姓名和學號。輸入格式 每個測試輸入包含1個測試用例,格式為 第1行 正整數n 第2行 第1個學生的姓名 學號 成績 第3行 第2個學生的姓名 學號 成績 第n 1行 第n個學生的姓名 學號 成績其中姓名和學號均為不超過10個字元的字串,...
PAT1004 成績排名 20
讀入n名學生的姓名 學號 成績,分別輸出成績最高和成績最低學生的姓名和學號。輸入格式 每個測試輸入包含1個測試用例,格式為 第1行 正整數n 第2行 第1個學生的姓名 學號 成績 第3行 第2個學生的姓名 學號 成績 第n 1行 第n個學生的姓名 學號 成績其中姓名和學號均為不超過10個字元的字串,...
PAT1004 成績排名 20
時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 讀入n名學生的姓名 學號 成績,分別輸出成績最高和成績最低學生的姓名和學號。輸入格式 每個測試輸入包含1個測試用例,格式為 第1行 正整數n 第2行 第1個學生的姓名 學...