return ( strcmp(a.name, b.name)<0 )? true : false;
记忆
#include<bits/stdc++.h>
using namespace std;
int n;
struct node
{
int num;
char name[15];
int age;
};
bool cmp( node a , node b)
{
if( a.age!=b.age )
{
return a.age<b.age;
}
else
{
if( a.num!=b.num )
{
return a.num<b.num;
}
else
{
//有点不记得了
return ( strcmp(a.name, b.name)<0 )? true : false;
}
}
}
int main()
{
while( ~scanf("%d",&n) )
{
vector<node> solve;
int loop=n;
while( n-- )
{
node temp;
scanf("%d %s %d",&temp.num, temp.name, &temp.age);
solve.push_back(temp);
}
sort(solve.begin(), solve.end(), cmp );
loop=min( loop, 3);
for(int i=0; i<loop; ++i)
{
printf("%d %s %d\n", solve[i].num, solve[i].name, solve[i].age);
}
}
return 0;
} 
京公网安备 11010502036488号