1083. List Grades (25)-简单的排序

给定区间[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
",stu[i].name,stu[i].id);
            cnt++;
        }
    }
    if(cnt==0){
        printf("NONE
");
    }
    return 0;
}
View Code
原文地址:https://www.cnblogs.com/chenxiwenruo/p/6390118.html