pat乙級1004
1125 ワード
n(>0)名の学生の名前、学番、成績を読み込み、成績が最も高い学生と成績が最も低い学生の名前と学番をそれぞれ出力します.
入力フォーマット:各テスト入力には1つのテスト例が含まれ、フォーマットは
1行目:正の整数n 2行目:1人目の学生の名前学号成績3行目:2人目の学生の名前学号成績......n+1行目:n人目の学生の名前学号成績名前と学号はいずれも10文字を超えない文字列で、成績は0から100の間の整数であり、ここでは1組の試験例で2人の学生の成績が同じではないことを保証する.
出力フォーマット:テスト例ごとに2行を出力し、1行目は成績が最も高い学生の名前と学番、2行目は成績が最も低い学生の名前と学番で、文字列の間に1スペースがあります.
入力サンプル:3 Joe Math 990112 89 Mike CS 991301 100 Mary EE 990830 95出力サンプル:Mike CS 991301 Joe Math 990112
まとめ;1,構造体配列2,scanf入力時に入力フォーマットと一致しなければならない3,配列サイズを定義する際には,初期化配列nameが小さくなったため,一部の結果エラーが発生したことに注意する.
入力フォーマット:各テスト入力には1つのテスト例が含まれ、フォーマットは
1行目:正の整数n 2行目:1人目の学生の名前学号成績3行目:2人目の学生の名前学号成績......n+1行目:n人目の学生の名前学号成績名前と学号はいずれも10文字を超えない文字列で、成績は0から100の間の整数であり、ここでは1組の試験例で2人の学生の成績が同じではないことを保証する.
出力フォーマット:テスト例ごとに2行を出力し、1行目は成績が最も高い学生の名前と学番、2行目は成績が最も低い学生の名前と学番で、文字列の間に1スペースがあります.
入力サンプル:3 Joe Math 990112 89 Mike CS 991301 100 Mary EE 990830 95出力サンプル:Mike CS 991301 Joe Math 990112
#include
#include
void main(){
int i,n;
scanf("%d",&n);
struct student{ //
char name[20];
char sno[20];
int grade;
};
struct student stu[1000];//
for(i=0;imax)//
{max=stu[k].grade;
max_no=k;
}
}
printf("%s %s
",stu[max_no].name,stu[max_no].sno);
printf("%s %s
",stu[min_no].name,stu[min_no].sno);
}
まとめ;1,構造体配列2,scanf入力時に入力フォーマットと一致しなければならない3,配列サイズを定義する際には,初期化配列nameが小さくなったため,一部の結果エラーが発生したことに注意する.