zoukankan      html  css  js  c++  java
  • 九度oj 题目1187:最小年龄的3个职工

    题目描述:

    职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来。

    输入:

    输入第一行包括1个整数N,1<=N<=30,代表输入数据的个数。
    接下来的N行有N个职工的信息:
    包括职工号(整数), 姓名(字符串,长度不超过10), 年龄(1<=age<=100)。

    输出:

    可能有多组测试数据,对于每组数据,
    输出结果行数为N和3的较小值,分别为年龄最小的职工的信息。

    关键字顺序:年龄>工号>姓名,从小到大。

    样例输入:
    5
    501 Jack 6
    102 Nathon 100
    599 Lily 79
    923 Lucy 15
    814 Mickle 65
    样例输出:
    501 Jack 6
    923 Lucy 15
    814 Mickle 65

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <algorithm>
     4 #include <iostream>
     5 using namespace std;
     6 
     7 struct Worker{
     8     int id;
     9     char name[12];
    10     int age;
    11 };
    12 
    13 int n;
    14 Worker worker[32];
    15 
    16 int cmp(const void *a, const void * b) {
    17     Worker at = *(Worker *)a;
    18     Worker bt = *(Worker *)b;
    19     int ac =at.age - bt.age;
    20     int idc = at.id - bt.id;
    21     if(ac == 0) {
    22         if(idc == 0) {
    23             return strcmp(at.name,bt.name);
    24         }
    25         else {
    26             return idc;
    27         }
    28     }
    29     else {
    30         return ac;
    31     }
    32 }
    33 
    34 int main(int argc, char const *argv[])
    35 {
    36     //freopen("input.txt","r",stdin);
    37     while(scanf("%d",&n) != EOF) {
    38         for(int i = 0; i < n; i++) {
    39             scanf("%d %s %d",&worker[i].id,worker[i].name, &worker[i].age);
    40         }
    41         qsort(worker, n, sizeof(worker[0]), cmp);
    42         int t = min(3,n);
    43         for(int i = 0; i < t; i++) {
    44             printf("%d %s %d
    ",worker[i].id,worker[i].name,worker[i].age);
    45         }
    46     }    
    47     return 0;
    48 }
  • 相关阅读:
    php 扩展模块安装过程
    nginx 配置若干问题
    df 显示 100%的问题
    pcre 不支持 utf 的问题
    服务器TCP连接中 TIME_WAIT 状态过多
    Linux 运维笔试题(一)答案
    Linux 运维笔试题(一)
    Java 内存监控(一)之 jps命令
    python 入门
    Java 内存监控命令简介(零)
  • 原文地址:https://www.cnblogs.com/jasonJie/p/5866537.html
Copyright © 2011-2022 走看看