题解 | #成绩排序#

成绩排序

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

#include <iostream>
#include <algorithm>
#include <string>

using namespace std;

struct student{
    string name;
    int score;
    bool operator<(const student& p){
		return (this->name < p.name) && (this->score < p.score);
	}
};

bool Compare1 (student x, student y){ //低到高
    return x.score > y.score;
}

bool Compare2 (student x, student y){ //高到低
    return x.score < y.score;
}
int main() {
    int n, m;
    while (scanf ("%d", &n) != EOF){
		scanf ("%d", &m);
    	student stu[n];
        for (int i = 0; i < n; i++){
            cin >> stu[i].name >> stu[i].score;
        }
        if (m == 1){
            stable_sort (stu, stu + n, Compare2);
        }else {
            stable_sort (stu, stu + n, Compare1);
        }
        for (int i = 0; i < n; i++){
			cout << stu[i].name << ' ' << stu[i].score << endl;
		}
    }
    return 0;
}

全部评论

相关推荐

合适才能收到offe...:项目岗是什么岗?我看你有段好像跟策划运营相关,如果找运营的话第三段经历写详细点儿。 个人建议是把自我评价删了换成专业技能放在工作经验上或者下面。学生会那个也可以删,把第一个包装成店铺运营,写4-6给点。第三个也是写4-6个点。注意工作内容➕部分数据。 投递的时候BOS招呼用语改一下,换成我有xx工作经验,熟练掌握xx技能样式,也可以简历截图然后直接发送。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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