讀入 n(>0)名學生的姓名、學號、成績,分別輸出成績最高和成績最低學生的姓名和學號。
每個測試輸入包含 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
#include
#include
#define maxn 1000
//測試用例中有乙個是大量輸入,超過100,所以設為1000
using namespace std;
//建立乙個用於存放學生資訊的結構
struct eduinfo
;void
compare
(eduinfo s,
int n)
;int
main()
compare
(s, n)
;return0;
}void
compare
(eduinfo s,
int n)
//與尋找最小值相同,但是從後向前查詢
for(
int b =
0; b < n -
1; b++
) cout << s[max]
.name <<
" "<< s[max]
.edunum << endl;
cout << s[min]
.name <<
" "<< s[min]
.edunum << endl;
}
1、題目要求在輸入中查詢,那就需要存放資料,又因為學生資訊包含字元型和整型,所以思路是新建乙個結構組成陣列。
2、查詢大小分別從後向前查詢及從前向後查詢
3、為什麼不將第乙個賦給min,第二個賦給max?
完全可以,都是向後查詢就可以合併**,看起來更簡潔。只是需要加一條判斷min和max大小。文中只是方便理解。
PTA 1004 成績排名
讀入 n 0 名學生的姓名 學號 成績,分別輸出成績最高和成績最低學生的姓名和學號。每個測試輸入包含 1 個測試用例,格式為 第 1 行 正整數 n 第 2 行 第 1 個學生的姓名 學號 成績 第 3 行 第 2 個學生的姓名 學號 成績 第 n 1 行 第 n 個學生的姓名 學號 成績其中姓名和...
PTA 1004 成績排名
讀入 n 0 名學生的姓名 學號 成績,分別輸出成績最高和成績最低學生的姓名和學號。輸入格式 每個測試輸入包含 1 個測試用例,格式為 第 1 行 正整數 n 第 2 行 第 1 個學生的姓名 學號 成績 第 3 行 第 2 個學生的姓名 學號 成績 第 n 1 行 第 n 個學生的姓名 學號 成績...
PTA 1004 成績排名(c語言)
讀入 n 0 名學生的姓名 學號 成績,分別輸出成績最高和成績最低學生的姓名和學號。輸入格式 每個測試輸入包含 1 個測試用例,格式為 第 1 行 正整數 n 第 2 行 第 1 個學生的姓名 學號 成績 第 3 行 第 2 個學生的姓名 學號 成績 第 n 1 行 第 n 個學生的姓名 學號 成績...