1004. 成績排名 (20)時間限制 400 ms
記憶體限制 32000 kB
代碼長度限制 8000 B
判題程式 Standard作者 CHEN, Yue
讀入n名學生的姓名、學號、成績,分別輸出成績最高和成績最低學生的姓名和學號。
輸入格式:每個測試輸入包含1個測試案例,格式為
第1行:正整數n 第2行:第1個學生的姓名 學號 成績 第3行:第2個學生的姓名 學號 成績 ... ... ... 第n+1行:第n個學生的姓名 學號 成績
其中姓名和學號均為不超過10個字元的字串,成績為0到100之間的一個整數,這裡保證在一組測試案例中沒有兩個學生的成績是相同的。
輸出格式:對每個測試案例輸出2行,第1行是成績最高學生的姓名和學號,第2行是成績最低學生的姓名和學號,字串間有1空格。
輸入範例:
3Joe Math990112 89Mike CS991301 100Mary EE990830 95
輸出範例:
Mike CS991301Joe Math990112
#include<iostream>#include<vector>#include <algorithm>#include <string>using namespace std;typedef struct student{string name;string number;int grade;}STU;bool compare(STU a,STU b){return a.grade<=b.grade;}int main(){int n;cin>>n;STU stu;vector<STU> vec;vector<STU>::iterator it;while(n--){cin>>stu.name>>stu.number>>stu.grade; vec.push_back(stu);}sort(vec.begin(),vec.end(),compare);cout<<(*vec.rbegin()).name<<" "<<(*vec.rbegin()).number<<endl;cout<<(*vec.begin()).name<<" "<<(*vec.begin()).number<<endl;return 0;}