题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b

#include <iostream>
#include <algorithm>
using namespace std;
const int N = 210;

struct Stud
{
    string name;
    int score, id;  //结构体加入一个id记录输入时顺序先后
}stud[N];
//按照要求重载一下大于号和小于号
bool cmp1(struct Stud a, struct Stud b)
{
    if(a.score != b.score) return a.score < b.score;
    else return a.id < b.id;
}
bool cmp2(struct Stud a, struct Stud b)
{
    if(a.score != b.score) return a.score > b.score;
    else return a.id < b.id;
}

int main() {
    int n, op;
    cin >> n >> op;
    for(int i = 0; i < n; i ++)
    {
        cin >> stud[i].name >> stud[i].score;
        stud[i].id = i;
    }
    if(!op) sort(stud, stud + n, cmp2);
    else sort(stud, stud + n, cmp1);
    for(int i = 0; i < n; i ++)  cout << stud[i].name << " " << stud[i].score << endl;
    return 0;

}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

zzzzhz:兄弟你先猛猛投简历至少三百家,能约到面试就去面。最近可以速成智能小车,智慧家居烂大街的项目,不需要自己写,只需要把里面的代码讲解看明白就行。把其中涉及到的八股文都拿出来单独背一下,我去年找工作就一个智能小车智慧家居找了10k差不多。
点赞 评论 收藏
分享
07-02 10:39
门头沟学院 Java
Steven267:说点真实的,都要秋招了,还没有实习,早干嘛去了,本来学历就差,现在知道急了,而且你这个简历完全可以写成一页,劣势太大了,建议转测试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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