PAT (Basic Level) Practise (中文)- 1004. 成绩排名 (20)
2015-04-28 18:48
375 查看
http://www.patest.cn/contests/pat-b-practise/1004
读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。
输入格式:每个测试输入包含1个测试用例,格式为
其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。
输出格式:对每个测试用例输出2行,第1行是成绩最高学生的姓名和学号,第2行是成绩最低学生的姓名和学号,字符串间有1空格。
输入样例:
输出样例:
读入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
#include<stdio.h> #include<string.h> struct student { char name[11]; char id[11]; int fenshu; student(){} student(char str[]) { fenshu=0; int len=strlen(str); for(int i=0,j=0,flag=0;i<len;i++) { if(str[i]!=' ') { if(0==flag) { name[j]=str[i]; j++; } else if(1==flag) { id[j]=str[i]; j++; } else fenshu=fenshu*10+(str[i]-'0'); } else { if(0==flag) name[j]='\0'; else if(1==flag) id[j]='\0'; flag++; j=0; } } } }; int main() { int n=0; scanf("%d",&n); getchar(); student max,min; char str[30]; //Mary EE990830 95 for(int i=0;i<n;i++) { gets(str); student temp=student(str); if(i) { if(temp.fenshu > max.fenshu) max=temp; else if(temp.fenshu < min.fenshu) min=temp; } else { max=temp; min=temp; } } printf("%s %s\n",max.name,max.id); printf("%s %s",min.name,min.id); return 0; }
相关文章推荐
- PAT (Basic Level) Practise (中文) 1004成绩排名(20)
- PAT (Basic Level) Practise (中文)1004. 成绩排名 (20)
- PAT (Basic Level) Practise (中文)1004. 成绩排名 (20)
- PAT (Basic Level) Practise (中文)---1004 成绩排名 (20)
- PAT (Basic Level) Practise (中文)1004. 成绩排名 (20) C语言
- PAT (Basic Level) Practise (中文)1004. 成绩排名 (20)
- PAT (Basic Level) Practise (中文)1004. 成绩排名 (20)
- PAT (Basic Level) Practise-1004. 成绩排名 (20)
- PAT Basic Level 1004. 成绩排名 (20)
- PAT (Basic Level) 1004. 成绩排名 (20)
- PAT (Basic Level) Practise 的C++实现-1004.成绩排名
- 【C++】浙大PAT (Basic Level)1004. 成绩排名 (20)
- PAT (Basic Level) Practise (中文)1038. 统计同成绩学生(20)
- PAT (Basic Level) Practise (中文) 1038. 统计同成绩学生(20)
- PAT BASIC LEVEL 1004. 成绩排名 (20)
- PAT (Basic Level) Practise (中文)-1038. 统计同成绩学生(20)
- PAT (Basic Level) Practise:1004. 成绩排名
- PAT (Basic Level) Practise (中文) 1073. 多选题常见计分法(20)
- PAT (Basic Level) Practise (中文) 1014. 福尔摩斯的约会 (20)
- PAT (Basic Level) Practise (中文)1019. 数字黑洞 (20)