天天看點

PAT乙級1004

時間限制

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;
}      
上一篇: PAT乙級1005
下一篇: PAT乙級1001