PAT A1083 List Grades
思路:简单的排序题,注意由于分数上限为 100,且分数均不相同,MAXN 取 110。
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
const int MAXN = 110;
int N, l, r;
typedef struct {
string name, id;
int grade;
} Student;
Student stu[MAXN];
bool cmp(Student a, Student b) {
return a.grade > b.grade;
}
int main() {
cin >> N;
for(int i = 0; i < N; i++) {
cin >> stu[i].name >> stu[i].id >> stu[i].grade;
}
cin >> l >> r;
sort(stu, stu + N, cmp);
bool isPrint = false;
for(int i = 0; i < N; i++) {
if(stu[i].grade >= l && stu[i].grade <= r) {
cout << stu[i].name << " " << stu[i].id << endl;
isPrint = true;
}
}
if(!isPrint) cout << "NONE\n";
return 0;
}