九度oj 1187
2015-08-31 11:30
246 查看
题目1187:最小年龄的3个职工
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:2252
解决:919
题目描述:
职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来。
输入:
输入第一行包括1个整数N,1<=N<=30,代表输入数据的个数。
接下来的N行有N个职工的信息:
包括职工号(整数), 姓名(字符串,长度不超过10), 年龄(1<=age<=100)。
输出:
可能有多组测试数据,对于每组数据,
输出结果行数为N和3的较小值,分别为年龄最小的职工的信息。
关键字顺序:年龄>工号>姓名,从小到大。
样例输入:
样例输出:
来源:2003-2005年华中科技大学计算机研究生机试真题
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:2252
解决:919
题目描述:
职工有职工号,姓名,年龄.输入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
来源:2003-2005年华中科技大学计算机研究生机试真题
#include<iostream> #include<algorithm> #include<string.h> using namespace std; struct A { int num; char name[12]; int age; }edge[50]; bool cmp(A a,A b) { if(a.age!=b.age) { return a.age<b.age; } else if(a.num!=b.num) { return a.num<b.num; } else return a.name<b.name; } int main() { int n; int j; while(cin>>n) { for(int i=1;i<=n;i++) { cin>>edge[i].num>>edge[i].name>>edge[i].age; } sort(edge+1,edge+1+n,cmp); if(n<3) { j=n; for(int i=1;i<=j;i++) { cout<<edge[i].num<<" "<<edge[i].name<<" "<<edge[i].age<<endl; } } else { for(int i=1;i<=3;i++) { cout<<edge[i].num<<" "<<edge[i].name<<" "<<edge[i].age<<endl; } } } }
相关文章推荐
- MySQL优化的一点记录。
- Android 常用效果(各种进度条,酷炫loading动画,火箭升空,撒花以及趋势图)
- CAN总线基础知识(三)
- linux之Segment Fault错误分析[1]
- 《最近在工作上有点迷茫》
- CAN总线基础知识(三)
- OC的ARC(自动内存管理)注意事项
- 详解数据库 Schema
- 怎样快速将pdf转换成txt格式
- 通知
- 以Blog为例阐述Git多人协作开发流程
- hdu3746 Cyclic Nacklace(kmp周期 最小循环节)
- HDU 4911 Inversion(逆序对-BIT)
- 除了那一点不满,我已经脱离实际
- DB2 归档数据
- 使用SuspendLayout和ResumeLayout
- 面试题17:合并两个排序的链表
- CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4
- TCP报文详解
- 安装失败,并出现以下错误:Exchange Server 处于不一致状态。只有灾难恢复模式可用