天天看點

1017: 成績大排隊

1017: 成績大排隊

時間限制: 1 Sec  記憶體限制: 128 MB

送出: 332  解決: 246

[送出][狀态][讨論版]

題目描述

讀入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      

提示

來源

5053

#include <iostream>

#include <algorithm>

using namespace std;

struct record{

 char name[11];

 char number[11];

 int score;

}s[1000];

bool compare(record a,record b){

 if(a.score>b.score) return true;

 else return false;

}

int main(){

 int n,i;

 cin>>n;

 for(i=0;i<n;i++){

  cin>>s[i].name>>s[i].number>>s[i].score;

 }

 sort(s,s+n,compare);

    cout<<s[0].name<<" "<<s[0].number<<endl;

     cout<<s[n-1].name<<" "<<s[n-1].number<<endl;

 return 0;

}