#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
typedef struct student {
string name;
int age;
int grade;
} student;
bool cmp(student s1, student s2) {
if (s1.grade != s2.grade)return s1.grade < s2.grade;
if (s1.name != s2.name)return s1.name < s2.name;
return s1.age < s2.age;
}
int main() {
int n;
cin >> n;
student* s = new student[n];
for (int i = 0; i < n; i++)cin >> s[i].name >> s[i].age >> s[i].grade;
sort(s, s + n, cmp);
for (int i = 0; i < n;i++)cout << s[i].name << " " << s[i].age << " " << s[i].grade << endl;
return 0;
}
sort()函数和string类型的比较

京公网安备 11010502036488号