PAT-1004. 成績排名(20)
阿新 • • 發佈:2018-12-16
讀入 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
C++示例程式碼:
#include<iostream> #include<string> using namespace std; class student { public: string name; string number; int goal; }; int main() { int n;cin>>n; student stu[n]; for(int i=0;i<n;i++) { cin>>stu[i].name; cin>>stu[i].number; cin>>stu[i].goal; } int flag1 = 0,flag2= 0; int max = stu[0].goal,min = stu[0].goal; for(int j=1;j<n;j++) { if(stu[j].goal>max) { max = stu[j].goal; flag1 = j; } if(stu[j].goal<min){ min = stu[j].goal; flag2 = j; } } cout<<stu[flag1].name<<" "<<stu[flag1].number<<endl; cout<<stu[flag2].name<<" "<<stu[flag2].number; return 0; }
程式碼分析:
這個題目的思路比上一個題簡單多了,就是類的呼叫。over
//自寫程式,轉載請註明