为了方便大佬们观看我还把注释标了上去。
#include <bits/stdc++.h>
using namespace std;
int n;
struct sr{
string s;
int y, m, d;
}p[105];
bool cmp(sr x1, sr x2){
if (x1.y != x2.y){//年
return x1.y<x2.y;//年份更小的排前面
}
else{
if (x1.m != x2.m){//月
return x1.m<x2.m;//月份更小的排前面
}
else{
if (x1.d != x2.d){//日
return x1.d<x2.d;//日更小的排前面
}
}
}
}
int main(){
cin>>n;
for (int i=1; i<=n; i++){
cin>>p[i].s;//输入名字
cin>>p[i].y>>p[i].m>>p[i].d;//输入生日
}
sort(p+1, p+n+1, cmp);//排序
for (int i=1; i<=n; i++){
cout<<p[i].s<<endl;//输出名字
}
return 0;
}