题目
思路
题目大意:把分数从高到低排一下,依次遍历每一个分数,如果分数在给定区间内,输出;
代码
#include <iostream>
#include <string>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
const int maxn = 50;
struct node{
char name[11], id[11];
int grade;
}stus[maxn];
bool cmp(node a, node b){
return a.grade > b.grade;
}
int main()
{
int n;
scanf("%d", &n);
for(int i = 0; i < n; i ++){
scanf("%s %s %d", stus[i].name, stus[i].id, &stus[i].grade);
}
sort(stus, stus + n, cmp);
int left, right, num = 0;
scanf("%d%d", &left, &right);
for(int i = 0; i < n; i ++){
if(stus[i].grade >= left && stus[i].grade <= right){
printf("%s %s\n", stus[i].name, stus[i].id);
num ++;
}
}
if(num == 0)printf("NONE\n");
system("pause");
return 0;
}