结构体 水题
用到了strcmp函数
找了一篇介绍相应函数的博客
https://blog.csdn.net/hedafighter2011/article/details/7650311
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
struct Ig{
int nian,yue,ri;
char name[55];
}e[1010];
int n;
int cmp(Ig a,Ig b){
if(a.nian<b.nian) return 1;
if(a.nian>b.nian) return 0;
else if(a.nian==b.nian){
if(a.yue<b.yue) return 1;
if(a.yue>b.yue) return 0;
else if(a.yue==b.yue){
if(a.ri<b.ri) return 1;
if(a.ri>b.ri) return 0;
else if(a.ri==b.ri){
if(strcmp(a.name,b.name)<0) return 1;
else return 0;
}
}
}
//strcmp 比较字符串大小
//strcmp(str1,str2)
//Asic码,str1>str2 返回值>0 相等返回0 str1<str2 返回值<0
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>e[i].name;
scanf("%d/%d/%d",&e[i].yue,&e[i].ri,&e[i].nian);
}
sort(e+1,e+1+n,cmp);
for(int i=1;i<=n;i++)
cout<<e[i].name<<endl;
return 0;
}