题解 | #最小年龄的3个职工#

最小年龄的3个职工

https://www.nowcoder.com/practice/a9fa482eb05149cdbad88689e3cb5f66

#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
struct worker {
    int id;
    char name[11];
    int age;
};
bool comp(worker lhs, worker rhs) {
    if (lhs.age < rhs.age) {
        return true;
    } else if (lhs.age == rhs.age && lhs.id < rhs.id) {
        return true;
    } else if (lhs.age == rhs.age && lhs.id == rhs.id &&
               strcmp(lhs.name, rhs.name) <= 0) {
        return true;
    } else
        return false;
}
int main() {
    int n;
    worker w[1000];
    while (scanf("%d", &n) != EOF) {
        int i;
        for (i = 0; i < n; i++) {
            scanf("%d%s%d", &w[i].id, w[i].name, &w[i].age);
        }
        sort(w, w + n, comp);
        if (n < 3) {
            for (i = 0; i < n; i++) {
                printf("%d %s %d\n", w[i].id, w[i].name, w[i].age);
            }
        } else {
            for (i = 0; i < 3; i++) {
                printf("%d %s %d\n", w[i].id, w[i].name, w[i].age);
            }
        }
    }
}

全部评论

相关推荐

头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务