题目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;
}
#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;
}
相关文章推荐
- 题目1187:最小年龄的3个职工
- 题目1187:最小年龄的3个职工
- 题目1187:最小年龄的3个职工
- 【九度】题目1187:最小年龄的3个职工
- 题目1187:最小年龄的3个职工
- 题目1187:最小年龄的3个职工
- 【九度OJ】题目1187:最小年龄的3个职工 解题报告
- 九度OJ 题目1187:最小年龄的3个职工
- 九度OJ 1187:最小年龄的3个职工 (排序)
- 九度OJ 1187:最小年龄的3个职工 (排序)
- 【九度OJ】1187:最小年龄的3个职工
- 1187 最小年龄的3个职工
- 最小年龄的3个职工
- 华科机考:最小年龄的3个职工
- 职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来
- 最小年龄的3个职工
- 最小年龄的3个职工(解题报告)
- C++编程题-职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来
- 最小年龄的3个职工
- 【慢慢学算法】:最小年龄的3个职工(sort对结构体的多级排序)