1004. 成绩排名 (20) PAT乙级真题
2017-11-28 15:59
246 查看
1004. 成绩排名 (20)
读入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
这题写得比较早,那时候还不怎么熟悉结构体,拿了3个数组分别存储的数据,这题用结构体会简单很多,下面这个是三个数组版本(每次读取数据以后只保留成绩最高和成绩最低的数据):
#include<stdio.h> #include<string.h> int main(void) { int n,i,f,k,m,max=0,min=100; char a[22],maxname[22]={'a'},minname[22]={'a'}; scanf("%d%*c",&n); for(k=0;k<n;k++) { i=0;m=0; do { scanf("%c",&a[i]); i++; if (a[i-1]==' ') m++; }while((a[i-1]!=' ') || (m!=2) ); a[i-1]='\0'; scanf("%d%*c",&f); if (f>max) { max=f; strcpy(maxname,a); } if (f<min) { min=f; strcpy(minname,a); } } printf("%s\n",maxname); printf("%s\n",minname); return 0; }
相关文章推荐
- PAT乙级真题及训练集(11)--1004. 成绩排名 (20)
- 1004. 成绩排名 (20)-浙大PAT乙级真题java实现
- 1004. 成绩排名 (20)-PAT乙级真题
- PAT乙级1004. 成绩排名 (20)
- PAT-乙级-1004. 成绩排名 (20)
- 1004. 成绩排名 (20)-PAT乙级
- PAT 乙级真题 1004.成绩排名
- pat乙级1004. 成绩排名 (20)
- 浙江大学PAT_乙级_1004. 成绩排名 (20)
- 【PAT】(乙级)1004. 成绩排名 (20)
- 浙大PAT乙级1004. 成绩排名 (20)
- PAT乙级1004(C语言)- 成绩排名 (20)
- PAT乙级.1004. 成绩排名 (20)
- PAT乙级1004. 成绩排名 (20)
- pat 乙级 1004 成绩排名(20)
- PAT乙级1004. 成绩排名 (20)
- PAT乙级 1004. 成绩排名 (20)
- [PAT乙级]1004. 成绩排名 (20)
- PAT乙级 1004. 成绩排名 (20)
- 浙江大学PAT乙级试题.1004. 成绩排名 (20)C语言