#include <stdio.h>
#include <algorithm>
#include <string.h>
using namespace std;
//姓名 年龄 和 成绩
struct node
{
char name[20];
int age;
int grade;
}buf[100];
bool cmp( node a,node b)
{
if(a.grade!=b.grade)
{
return a.grade<b.grade;
}
int tag=strcmp(a.name,b.name);
if (tag<0)return true;
return a.age<b.age;
}
int a[100];
void init()
{
for(int i=0;i<100;i++)
a[i]=i;
}
int main()
{
int n;
scanf("%d",&n);
init();
for(int i=0;i<n;i++)
{
scanf("%s%d%d",buf[i].name,&buf[i].age,&buf[i].grade);
}
/*for(int i=0;i<n;i++)
{
printf("%s%d%d",buf[i].name,&buf[i].age,&buf[i].grade);
}*/
for(int i=0;i<n;i++)
{
for(int j=0;j<n-i-1;j++)//a[j]baocun de shi suoyin
{
if(cmp(buf[a[j]],buf[a[j+1]]))
{
int tmp=a[j+1];
a[j+1]=a[j];
a[j]=tmp;
}
}
}
for(int i=0;i<n;i++)
{
printf("%s %d %d\n",buf[a[i]].name,buf[a[i]].age,buf[a[i]].grade);
}
return 0;
}
/*5
wang 19 100
wang1 18 90
huang 20 100
yin 21 98
qian 22 88*/
运行结果: