PTA 1004 成績排名

2021-10-07 16:46:50 字數 1425 閱讀 3267

讀入 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 個學生的姓名 學號 成績...