题解 | #EXCEL排序#定义个结构体再按要求排序就行

EXCEL排序

https://www.nowcoder.com/practice/bf3ec474bb7d410dbb9d5bbcd07a93e5

#include <iostream>
#include <algorithm>
using namespace std;
struct Student {
    string id, name;
    int score;
};
int main() {
    int n, c;
    while (cin >> n >> c) {
        Student student[n];
        for (int i = 0; i < n; i++) cin >> student[i].id >> student[i].name >> student[i].score;
        switch (c) {
            case 1:
                sort(student, student + n, [](Student a, Student b) { return a.id < b.id; });
                break;
            case 2:
                sort(student, student + n,
                     [](Student a, Student b) { return a.name == b.name ? a.id < b.id : a.name < b.name; });
                break;
            case 3:
                sort(student, student + n,
                     [](Student a, Student b) { return a.score == b.score ? a.id < b.id : a.score < b.score; });
                break;
            default:
                break;
        }
        cout << "Case:\n";
        for_each(student, student + n, [](Student a) { cout << a.id << " " << a.name << " " << a.score << endl; });
    }
    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-27 14:11
很喜欢小米的新车,校招薪资每月22k,攒多久能买?
测试糕手手:别看工资,先看现金流存款。有50W存款以上再考虑,车是消耗品,选适合自己的重要。你有钱就当我没说过
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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