给定区间[L,R],给出在这区间之内的学生,并且按照他们的成绩非升序的顺序输出。
#include <iostream> #include <cstdio> #include <string.h> #include <algorithm> using namespace std; const int maxn=10005; struct Stu{ char name[15]; char id[15]; int grade; bool operator<(const Stu tmp)const{ return grade>tmp.grade; } }stu[maxn]; int main() { int n; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%s %s %d",stu[i].name,stu[i].id,&stu[i].grade); } sort(stu,stu+n); int left,right; scanf("%d %d",&left,&right); int cnt=0; for(int i=0;i<n;i++){ if(left<=stu[i].grade && stu[i].grade<=right){ printf("%s %s\n",stu[i].name,stu[i].id); cnt++; } } if(cnt==0){ printf("NONE\n"); } return 0; }
时间: 2024-10-16 02:45:34