题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/0383714a1bb749499050d2e0610418b1

#include <cstdio>
#include <algorithm>
using namespace std;
struct student{
    char name[100];
    int grade;
    int order;
};
//降序条件
bool comp1(student lsh, student rsh){
    if(lsh.grade<rsh.grade){
        return true;
    }
    else if(lsh.grade==rsh.grade&&lsh.order<rsh.order)
        return true;
    else
        return false;
}
bool comp2(student lsh, student rsh){
    if(lsh.grade>rsh.grade){
        return true;
    }
    else if(lsh.grade==rsh.grade&&lsh.order<rsh.order)
        return true;
    else
        return false;
}
int main(){
    int people;
    int method;
    while(scanf("%d%d",&people,&method)!=EOF){
    student stu[people];
    for(int i=0;i<people;i++){
        scanf("%s%d",&stu[i].name,&stu[i].grade);
        stu[i].order=i;
    }
    if(method==1){
        sort(stu,stu+people,comp1);
    }
    else if(method==0){
        sort(stu, stu + people,comp2);
    }
    for(int i=0;i<people;i++) {
        printf("%s %d\n", stu[i].name,stu[i].grade);
    }
    }
}

全部评论

相关推荐

06-12 17:46
门头沟学院 Java
运营你豪哥:来说重点: ​1.项目前置,时间倒序。​​ 2.​项目描述强化结果与量化效果(STAR原则里的R)。​​ ​3.个人技能精炼,明确掌握程度,突出核心。​​ ​4.增加强有力开头的个人总结部分。​​ 5.​优化教育背景(成绩排名)、合并奖项与活动。​​
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务