Code1
#include <bits/stdc++.h>
using namespace std;
struct stu {
string s;
int y;
int m;
int d;
} a[100];
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i].s >> a[i].y >> a[i].m >> a[i].d;
for (int i = 1; i <= n; i++) {
for (int j = i + 1; j <= n; j++) {
if (a[i].y > a[j].y || a[i].m > a[j].m || a[i].d > a[j].d) swap(a[i], a[j]);
if (a[i].y == a[j].y &&a[i].m==a[j].m&&a[i].d==a[j].d) swap(a[i], a[j]);
}
}
for (int i = 1; i <= n; i++) cout << a[i].s << endl;
return 0;
}
Code2
#include <bits/stdc++.h>
using namespace std;
struct stu {
string s;
int y;
int m;
int d;
} a[100];
bool cmp(stu s1, stu s2) {
return s1.y < s2.y || s1.m < s2.m || s1.d < s2.d;
return s1.y == s2.y && s1.m == s2.m && s1.d == s2.d;
}
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) cin>>a[i].s>>a[i].y>>a[i].m>>a[i].d;
sort(a + 1, a + n + 1, cmp);
for (int i = 1; i <= n; i++) cout << a[i].s << endl;
return 0;
}
求大佬(dl) 帮助的必关