题目1061:成绩排序
#include <iostream>
#include <cstdio>
#include <string>
#include <algorithm>
using namespace std;
const int N=1000;
struct stu{
string name;
int age;
int score;
}a[N];
bool cmp(struct stu x,struct stu y){
if(x.score==y.score){
if(x.name==y.name){
return x.age<y.age;
}
return x.name<y.name;
}
return x.score<y.score;
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
for(int i=0;i<n;i++){
cin>>a[i].name>>a[i].age>>a[i].score;
}
sort(a,a+n,cmp);//本身是升序
for(int i=0;i<n;i++){
cout<<a[i].name<<" "<<a[i].age<<" "<<a[i].score<<endl;
}
}
return 0;
}