1004. 成绩排名 (20)
2015-10-24 15:00
260 查看
读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。
输入格式:每个测试输入包含1个测试用例,格式为
其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。
输出格式:对每个测试用例输出2行,第1行是成绩最高学生的姓名和学号,第2行是成绩最低学生的姓名和学号,字符串间有1空格。
输入样例:
输出样例:
输入格式:每个测试输入包含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> typedef struct { char name[11]; char number[11]; int score; }Student; int main(void) { int n; Student max={"","",-1}; Student min={"","",101}; Student input; scanf("%d",&n); while(n>0) { scanf("%s",&input.name); scanf("%s",&input.number); scanf("%d",&input.score); if(input.score > max.score) max = input; if(input.score < min.score) min = input; --n; } printf("%s %s\n",max.name,max.number); printf("%s %s",min.name,min.number); return 0; }
相关文章推荐
- struts2后台Action接收jsp页面的值
- 【游戏】有趣的小游戏合集
- div+js 弹出层
- java 传统定时器代码
- java synchronized详解
- Android中关于日期时间与时区的使用总结
- Android使用ksoap2-android调用WebService学习
- ctags原理
- 《TDD》-火花
- \r\n,\n,\r简介
- C++ 链表
- 一看就会系列Android之ContentProvider实现数据共享及注册监听
- 个人对C语言字节对齐问题的一些见解
- BootStrap -- Grid System
- 树莓派电台
- 阅读这篇文章,假设你不知道的傅里叶变换,然后来掐死我
- [NOIP模拟2015.10.24]tty的求助III
- Android Activity与Service数据交互:Binder、bindService(系列2)
- Ubuntu自带vi不好用的处理办法
- RestFul WCF JSON Service with client and on Mozilla Firefox –REST Client