为什么我这代码的输入才输一个人的数据就输出了(输入的n大于1),输出的还奇奇怪怪的
#include<bits/stdc++.h>
using namespace std;
struct person{
int year,month,day,code;
char name;
};
person a[200];
int cmp(person a,person b){
if(a.year!=b.year) return a.year<b.year;
else if(a.month!=b.month) return a.month<b.month;
else if(a.day!=b.day) return a.day<b.day;
else return a.code>b.code;
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].name>>a[i].year>>a[i].month>>a[i].day;
a[i].code=i;
}
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;i++){
cout<<a[i].name<<endl;
}
}