题解 | #成绩排序#
成绩排序
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; } } }