#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main(){
struct stu{
string name;
int year;
int month;
int day;
int id;
}a[101];
int i,j,n,m,temp;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i].name;
cin>>a[i].year;
cin>>a[i].month;
cin>>a[i].day;
a[i].id=i;
}
for(i=1;i<=n-1;i++)
for(j=1;j<=n-i;j++)
{
if(a[j].year!=a[j+1].year&&a[j].year>a[j+1].year)
{
swap(a[j].name,a[j+1].name);
swap(a[j].year,a[j+1].year);
swap(a[j].month,a[j+1].month);
swap(a[j].day,a[j+1].day);
}
if(a[j].year==a[j+1].year&&a[j].month>a[j+1].month)
{
swap(a[j].name,a[j+1].name);
swap(a[j].year,a[j+1].year);
swap(a[j].month,a[j+1].month);
swap(a[j].day,a[j+1].day);
}
if(a[j].year==a[j+1].year&&a[j].month==a[j+1].month&&a[j].day>a[j+1].day)
{
swap(a[j].name,a[j+1].name);
swap(a[j].year,a[j+1].year);
swap(a[j].month,a[j+1].month);
swap(a[j].day,a[j+1].day);
}
if(a[j].year==a[j+1].year&&a[j].month==a[j+1].month&&a[j].day==a[j+1].day&&a[j].id<a[j+1].id)
{
swap(a[j].name,a[j+1].name);
swap(a[j].year,a[j+1].year);
swap(a[j].month,a[j+1].month);
swap(a[j].day,a[j+1].day);
}
}
for(i=1;i<=n;i++)
cout<<a[i].name<<endl;
return 0;
}
用的结构体加冒泡排序,#5和#6过不了,求助