您的位置:首页 > 其它

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

2017-04-21 11:02 337 查看

#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<stdlib.h>
#include<string.h>
#define N 31
using namespace std;
struct W{
    int num;
    char name[11];
    int age;
    bool operator <(const W A)const{
        if(age!=A.age){
            return age<A.age;
        }else if(num!=A.num){
            return num<A.num;
        }
        int tmp=strcmp(name,A.name);
        if(tmp!=0){
            return tmp<0;
        }
    }
}worker
;
int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        for(int i=0;i<n;i++){
            scanf("%d%s%d",&worker[i].num,worker[i].name,&worker[i].age);
        }
        sort(worker,worker+n);
        for(int i=0;i<n&&i<3;i++){
            printf("%d %s %d\n",worker[i].num,worker[i].name,worker[i].age);
        }
    }
    return 0;
}
 
/**************************************************************
    Problem: 1187
    User: cust123
    Language: C++
    Result: Accepted
    Time:10 ms
    Memory:1024 kb
****************************************************************/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: