1004 成績排名 C 及Python實現

2021-09-01 11:37:06 字數 1668 閱讀 4030

1004 成績排名 (20 point(s))

讀入 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 using namespace std;

int main()

} cout《這是以前的**,c的字元陣列還是比較麻煩……

//pat 1004

#include #include using namespace std;

int main()

if(score用c++再做一遍

#include using namespace std;

struct scorelist

;int main(int argc, char const *argv)

for(int i=0;ipython實現主要是使用split()方法,否則input()會將一行輸入全部讀進去,需要用split()方法通過空格進行分割。

n=eval(input())

maxname=''

maxid=''

maxscore=0

minname=''

minid=''

minscore=100

stu=

for i in range(n):

ipt=input().split()

stu=

for item in stu:

if item['score']>maxscore:

maxscore=item['score']

maxname=item['name']

maxid=item['id']

if item['score']minscore=item['score']

minname=item['name']

minid=item['id']

print(maxname+" "+maxid)

print(minname+" "+minid)

1004成績排名

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

1004 成績排名

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

1004 成績排名

這個相對來說比較簡單,但是沒能一次執行成功。要記得 結構體存資料取位址 include include include pragma warning disable 4996 int main struct student x scanf d n x struct student malloc n ...