```cpp
#include<bits/stdc++.h>
using namespace std;
string name[101];
int a[101],b[101],c[101];
void swap_(int i,int j){
swap(a[i],a[j]);
swap(b[i],b[j]);
swap(c[i],c[j]);
swap(name[i],name[j]);
}
int main(){
int n,i,j;
cin>>n;
for(i=1;i<=n;i++)
cin>>name[i]>>a[i]>>b[i]>>c[i];
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(a[i]>a[j])swap_(i,j);
else if(a[i]==a[j]&&b[i]>b[j])swap_(i,j);
else if(a[i]==a[j]&&b[i]==b[j]&&c[i]>c[j])swap_(i,j);
for(i=1;i<=n;i++)
cout<<name[i]<<endl;
return 0;
}
```
by meng_redstone @ 2018-02-25 14:34:06
```cpp
#include<bits/stdc++.h>
using namespace std;
string name[101];
int a[101],b[101],c[101];
void swap_(int i,int j){
swap(a[i],a[j]);
swap(b[i],b[j]);
swap(c[i],c[j]);
swap(name[i],name[j]);
}
int main(){
int n,i,j;
cin>>n;
for(i=1;i<=n;i++)
cin>>name[i]>>a[i]>>b[i]>>c[i];
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(a[i]>a[j])swap_(i,j);
else if(a[i]==a[j]&&b[i]>b[j])swap_(i,j);
else if(a[i]==a[j]&&b[i]==b[j]&&c[i]>=c[j])swap_(i,j);
for(i=1;i<=n;i++)
cout<<name[i]<<endl;
return 0;
}
```
这样应该就对了,改成大于等于号
by moongazer @ 2018-02-25 15:10:22
生日相同,还要看<h1>输入顺序</h1>
by moongazer @ 2018-02-25 15:10:58
%%大佬
by meng_redstone @ 2018-08-23 21:51:36