您的位置:首页 > 其它

题目1187:最小年龄的3个职工

2014-03-20 12:12 176 查看
// 注意:n可能小于3。。。

#include<stdio.h>

#include<string.h>

#include<algorithm>

using namespace std;

struct people{

int id;

char name[10];

int age;

}p[100];

bool cmp(people a,people b){

if(a.age!=b.age) return a.age<b.age;

else if(a.id!=b.id) return a.id<b.id;

else return strcmp(a.name,b.name)<0;

}

int main()

{

int n;

while(scanf("%d",&n)!=EOF){

for(int i=0;i<n;i++) scanf("%d%s%d",&p[i].id,p[i].name,&p[i].age);

sort(p,p+n,cmp);

int tmp;

if(n<3) tmp=n;

else tmp=3;

for(int i=0;i<tmp;i++)

printf("%d %s %d\n",p[i].id,p[i].name,p[i].age);

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: