時間限制
400 ms
記憶體限制
65536 kB
代碼長度限制
8000 B
判題程式
Standard
作者
CHEN, Yue
讀入n名學生的姓名、學号、成績,分别輸出成績最高和成績最低學生的姓名和學号。
輸入格式:每個測試輸入包含1個測試用例,格式為
第1行:正整數n
第2行:第1個學生的姓名 學号 成績
第3行:第2個學生的姓名 學号 成績
… … …
第n+1行:第n個學生的姓名 學号 成績
其中姓名和學号均為不超過10個字元的字元串,成績為0到100之間的一個整數,這裡保證在一組測試用例中沒有兩個學生的成績是相同的。
輸出格式:對每個測試用例輸出2行,第1行是成績最高學生的姓名和學号,第2行是成績最低學生的姓名和學号,字元串間有1空格。
#include<iostream>
using namespace std;
typedef struct
{
char name[11];
char studentnumber[11];
int credit;
}student;
int main()
{
int n;
cin>>n;
student a[n];
int credits[101] ={0};
for(int i=0;i<n;i++)
{
cin>>a[i].name>>a[i].studentnumber>>a[i].credit;
}
for(int i=0;i<n;i++)
{
if(a[i].credit>-1&&a[i].credit<101)
credits[a[i].credit]++;
else
return 0;
}
for(int i=0;i<n;i++)
{
if(credits[a[i].credit]>1)
return 0;
}
int min = 101,max = -1,minn=0,maxn=0;
for(int i=0;i<n;i++)
{
if(max<a[i].credit)
{
max = a[i].credit;
maxn = i;
}
if(min>a[i].credit)
{
min = a[i].credit;
minn = i;
}
}
cout<<a[maxn].name<<" "<<a[maxn].studentnumber<<endl;
cout<<a[minn].name<<" "<<a[minn].studentnumber;
return 0;
}