题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/7a2f7d304d9e43b1bb2a6e72ed65bf51

#include <algorithm>
#include <iostream>

using namespace std;
struct Student {
    string name;
    int age;
    int grade;
};
Student student[1001];
bool cmp(Student a, Student b) {
    if (a.grade < b.grade) return true;
    if (a.grade == b.grade && a.name < b.name) return true;
    if (a.grade == b.grade && a.name == b.name && a.age < b.age) return true;
    return false;
}
int main() {
    int n;
    while (cin >> n) {
        for (int i = 0; i < n; ++i) {
            cin >> student[i].name >> student[i].age >> student[i].grade;
        }
        sort(student, student + n, cmp);
        for (int i = 0; i < n; ++i) {
            cout << student[i].name << " " << student[i].age << " " << student[i].grade <<
                 endl;
        }
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务