1. 程式人生 > >1004 成績排名

1004 成績排名

for div 空格 pac 正整數 score 2個 沒有 格式

讀入n名學生的姓名、學號、成績,分別輸出成績最高和成績最低學生的姓名和學號。

輸入格式:每個測試輸入包含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

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 
 5 struct Student{
 6     string name;
 7     string num;
 8     int score;
 9 };
10 
11 int main(){
12     int n;
13     cin >> n;
14     Student *stu = new Student[n];
15     for
(int i = 0; i < n; i++){ 16 cin >> stu[i].name >> stu[i].num >> stu[i].score; 17 } 18 int max = stu[0].score, f1=0; 19 int min = stu[0].score, f2=0; 20 for (int i = 0; i < n; i++){ 21 if (stu[i].score>max){ 22 max = stu[i].score; 23 f1 = i;
24 } 25 if (stu[i].score < min){ 26 min = stu[i].score; 27 f2 = i; 28 } 29 } 30 cout << stu[f1].name << " " << stu[f1].num << endl; 31 cout << stu[f2].name << " " << stu[f2].num << endl; 32 }

1004 成績排名