本题没有难度。
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <string>
#include <cstring>
using namespace std;
struct student {
char name[20], id[20];
int grade;
};
bool comp(student s1, student s2) {
return s1.grade > s2.grade;
}
int main(void) {
int n, i, grade1, grade2;
bool flag = false;
student *arr;
scanf("%d", &n);
arr = new student[n];
for (i = 0; i < n; i++) {
scanf("%s %s %d", arr[i].name, arr[i].id, &arr[i].grade);
}
scanf("%d %d", &grade1, &grade2);
sort(arr, arr + n, comp);
for (i = 0; i < n; i++) {
if (arr[i].grade >= grade1 && arr[i].grade <= grade2) {
flag = true;
printf("%s %s\n", arr[i].name, arr[i].id);
}
}
if (!flag) {
puts("NONE");
}
delete[] arr;
return 0;
}