返回目录
题意
有n位考生,将考生按分数高到低排序,输出符合指定范围[gradel,gradeh]分数的考生,若没有考生在该范围,则输出NONE
输出格式为(name id)
样例(可复制)
4
Tom CS000001 59
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95
60 100
样例输出
Mike CS991301
Mary EE990830
Joe Math990112
注意点
- 该题没有同分数的人,测试点不超过50个考生
#include <bits/stdc++.h>
using namespace std;
struct student{
char name[15],id[15];
int grade;
}stu[110];
bool cmp(student a,student b){
return a.grade>b.grade;
}
int main(){
int n,flag=0;
scanf("%d",&n);
for(int i=0;i<n;i++)scanf("%s %s %d",stu[i].name,stu[i].id,&stu[i].grade);
int gradel,gradeh;
scanf("%d%d",&gradel,&gradeh);
sort(stu,stu+n,cmp);
for(int i=0;i<n;i++){
if(stu[i].grade>=gradel&&stu[i].grade<=gradeh){
printf("%s %s\n",stu[i].name,stu[i].id);
flag=1;
}
}
if(flag==0)printf("NONE\n");
return 0;
}