简便解法:1004 成绩排名 (20分)
生活随笔
收集整理的這篇文章主要介紹了
简便解法:1004 成绩排名 (20分)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
立志用更少的代碼做更高效的表達
Pat乙級題解匯總——>傳送門
讀入 n(>0)名學(xué)生的姓名、學(xué)號、成績,分別輸出成績最高和成績最低學(xué)生的姓名和學(xué)號。
輸入格式:
每個測試輸入包含 1 個測試用例,格式為
第 1 行:正整數(shù) n
第 2 行:第 1 個學(xué)生的姓名 學(xué)號 成績
第 3 行:第 2 個學(xué)生的姓名 學(xué)號 成績
… … …
第 n+1 行:第 n 個學(xué)生的姓名 學(xué)號 成績
其中姓名和學(xué)號均為不超過 10 個字符的字符串,成績?yōu)?0 到 100 之間的一個整數(shù),這里保證在一組測試用例中沒有兩個學(xué)生的成績是相同的。
輸出格式:
對每個測試用例輸出 2 行,第 1 行是成績最高學(xué)生的姓名和學(xué)號,第 2 行是成績最低學(xué)生的姓名和學(xué)號,字符串間有 1 空格。
輸入樣例:
3
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95
輸出樣例:
Mike CS991301
Joe Math990112
結(jié)構(gòu)體遍歷即可。 要注意結(jié)構(gòu)體數(shù)組開的大一點。
代碼展示
#include<iostream> using namespace std;struct Student{string name;string id;int score; }student[1000];int main() {ios::sync_with_stdio(false);int n; cin>>n;int max = -1, min = 101, flag1, flag2;for(int i = 0; i < n; i++) {cin>>student[i].name>>student[i].id>>student[i].score;if(max < student[i].score) {max = student[i].score; flag1 = i;}if(min > student[i].score) {min = student[i].score; flag2 = i;}}cout << student[flag1].name << ' ' << student[flag1].id << '\n';cout << student[flag2].name << ' ' << student[flag2].id << '\n'; return 0; }每日一句
你不勇敢,沒人替你勇敢。
總結(jié)
以上是生活随笔為你收集整理的简便解法:1004 成绩排名 (20分)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 满分简便解法:1002 写出这个数 (2
- 下一篇: 简便满分解法:1005 继续(3n+1)