#include<iostream> #include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> #include<algorithm> #include<map> #include<vector> #include<queue> using namespace std; const int maxn=50; struct Student{ char name[11]; //姓名 char id[11]; //准考证号 int grade; //分数 }stu[maxn]; bool cmp(Student a,Student b){ return a.grade>b.grade; //按分数从大到小排序 } int main(){ int n,left,right; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%s %s %d",stu[i].name,stu[i].id, &stu[i].grade); //这里的格式%s%s%d也可以 } scanf("%d%d",&left,&right); //区间左右端点 sort(stu,stu+n,cmp); bool flag=false; //flag记录是否存在[left,right]内的考生 for(int i=0;i<n;i++){ if(stu[i].grade >= left && stu[i].grade <=right){ printf("%s %s\n",stu[i].name,stu[i].id); flag=true; //存在[left,right]范围的考生 } } if(flag == false) {//所有考生分数都不在[left,right]内 printf("NONE\n"); } system("pause"); return 0; }