1083. List Grades (25)
2015-11-29 18:02
459 查看
Given a list of N student records with name, ID and grade. You are supposed to sort the records with respect to the grade in non-increasing order, and output those student records of which the grades are in a given interval.
Input Specification:
Each input file contains one test case. Each case is given in the following format:
where name[i] and ID[i] are strings of no more than 10 characters with no space, grade[i] is an integer in [0, 100], grade1 and grade2 are the boundaries of the grade's interval. It is guaranteed that all the grades are distinct.
Output Specification:
For each test case you should output the student records of which the grades are in the given interval [grade1, grade2] and are in non-increasing order. Each student record occupies a line with the student's name and ID, separated by one space. If there is
no student's grade in that interval, output "NONE" instead.
Sample Input 1:
Sample Output 1:
Sample Input 2:
Sample Output 2:
----------------------华丽的分割线---------------------
分析:这题输入量不大,难度也不大。排序后搜索确定下标即可。
代码:
Input Specification:
Each input file contains one test case. Each case is given in the following format:
N name[1] ID[1] grade[1] name[2] ID[2] grade[2] ... ... name ID grade grade1 grade2
where name[i] and ID[i] are strings of no more than 10 characters with no space, grade[i] is an integer in [0, 100], grade1 and grade2 are the boundaries of the grade's interval. It is guaranteed that all the grades are distinct.
Output Specification:
For each test case you should output the student records of which the grades are in the given interval [grade1, grade2] and are in non-increasing order. Each student record occupies a line with the student's name and ID, separated by one space. If there is
no student's grade in that interval, output "NONE" instead.
Sample Input 1:
4 Tom CS000001 59 Joe Math990112 89 Mike CS991301 100 Mary EE990830 95 60 100
Sample Output 1:
Mike CS991301 Mary EE990830 Joe Math990112
Sample Input 2:
2 Jean AA980920 60 Ann CS01 80 90 95
Sample Output 2:
NONE
----------------------华丽的分割线---------------------
分析:这题输入量不大,难度也不大。排序后搜索确定下标即可。
代码:
#include <cstdio> #include <cstdlib> #include <cstring> #define Maxn 102 typedef struct { char name[11]; char ID[11]; int grade; }Student; int N; Student input[Maxn]; int cmpgrade(const void *a,const void *b); int main(void) { int grade1,grade2; scanf("%d\n",&N); int i; for(i=0;i<N;++i) { scanf("%s %s %d\n",input[i].name,input[i].ID,&input[i].grade); } scanf("%d %d",&grade1,&grade2); qsort(input,N,sizeof(input[0]),cmpgrade); int index1 = -1; int index2 = N; for(i=0;i<N;++i) { if(input[i].grade <= grade2) { index2 = i; break; } } for(i=N-1;i>=0;i--) { if(input[i].grade >= grade1) { index1 = i; break; } } if(index2>index1) printf("NONE\n"); else { for(i=index2;i<=index1;++i) { printf("%s %s\n",input[i].name,input[i].ID); } } system("pause"); return 0; } int cmpgrade(const void *a,const void *b) { Student tempa = *(Student *)a; Student tempb = *(Student *)b; return tempb.grade - tempa.grade; }
相关文章推荐
- Linux 命令神器 man与info
- setTimeout()和setInterval()看js的异步执行方法
- Intent在Activity之间传递值
- 《大象-Think In UML》读书笔记3
- rabbitmq-BasicQos
- sql优化(查询大数据量时sql执行时间过长)
- UVa220 黑白棋游戏
- hdu 5587 Array
- 利用python发送zabbix server的图形报表
- 信息安全系统设计基础第十一周学习总结
- UI_layoutSubView(判断横竖屏方法)
- 归并排序与逆序对问题---(解题报告)POJ1804---Brainman
- [Async_ExceptionOccurred]参数: 调试资源字符串不可用。密钥和参数通常提供足够的信息用以诊断该问题。
- 递推与递归
- UVALive 4683 Find The Number(容斥原理)
- [Javascript] Introducing Reduce: Common Patterns
- 通信课程一
- rabbitmq-BasicReject
- UVa12412 - A Typical Homework (a.k.a Shi Xiong Bang Bang Mang)
- js实现table删除行实例(纯前端)