题目链接
题目分析
解题思路
结构体整体排序后按条件筛选即可
AC程序(C++)
/**************************
//@Author: 3stone
//@ACM: PAT-A1083 List Grades
//@Time: 18/1/27
//@IDE: VS2017
***************************/
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
#include<map>
using namespace std;
typedef struct {
string name;
string id;
int grade;
}Stu;
bool cmp(Stu s1, Stu s2) {
return s1.grade > s2.grade;
}
Stu stu[100010];
int main() {
int n, low, high, count = 0;
char name[20], id[20];
//输入
scanf("%d%d", &n);
for (int i = 0; i < n; i++) { //input
scanf("%s %s %d", name, id, &stu[i].grade);
stu[i].name = name;
stu[i].id = id;
}
scanf("%d%d", &low, &high);
sort(stu, stu + n, cmp);
for (int j = 0; j < n; j++) {
if (low <= stu[j].grade && stu[j].grade <= high) {
printf("%s %s\n", stu[j].name.c_str(), stu[j].id.c_str());
count++;
}
}
if (count == 0) printf("NONE\n");
system("pause");
return 0;
}