• 九度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 }
  • 相关阅读:
    Linux系统编程@文件操作(一)
    printf 格式化输出符号详细说明(转)
    SUID,SGID,Sticky Bit详解(转)
    GDB调试器
    GCC编译器
    Make和Makefile编写(详见GCC手册)
    嵌入式Linux开发——内容介绍与开发环境的搭建
    Linux驱动设计——字符设备驱动(一)
    用Socket做一个局域网聊天工具(转)
    linux下常用文件传输命令 (转)
  • 原文地址:https://www.cnblogs.com/jasonJie/p/5866537.html
Copyright © 2020-2023  润新知