`
YuHuang.Neil
  • 浏览: 181295 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

年龄最小的3个职工

阅读更多
问题:职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来。

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

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

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

实现代码:
import java.util.*;

public class Main{
	public static void main(String[] args){
		int cnt,mark;
		Scanner s=new Scanner(System.in);
		Map<Integer,String>[] map;
		for(;s.hasNext();){
			map=new TreeMap[101];
			cnt=mark=0;
			int n=s.nextInt();
			for(int i=0;i<n;++i){
				int no=s.nextInt();
				String name=s.next();
				int age=s.nextInt();
				if(map[age]==null)
					map[age]=new TreeMap<Integer,String>();
				map[age].put(no, name);
			}
			for(int i=0;i<101;++i){
				if(map[i]!=null){
					Set<Integer> set=map[i].keySet();
					Set<Integer> result=new TreeSet<Integer>();
					Iterator<Integer> it=set.iterator();
					for(;it.hasNext();){
						result.add(it.next());
					}
					Iterator<Integer> ita=result.iterator();
					for(;ita.hasNext();){
						int no=ita.next();
						System.out.println(no+" "+map[i].get(no)+" "+i);
						++cnt;
						if(cnt==3) {mark=1;break;};
					}
				}
				if(mark==1) break;
			}
		}
	}
}


运行结果:


  • 大小: 23.1 KB
分享到:
评论

相关推荐

    c程序设计习题参考(谭浩强三版)习题参考解答

    9.7分别用函数和带参的宏,从3个数中找出最大数。 70 9.8试述“文件包含”和程序文件的连接(link)的概念,二者有何不同? 71 9.9用条件编译法实现以下功能: 71 第10章 指针 72 10.1输入3个整数,按由小到大的顺序...

    数据库课程设计——工资管理系统--职工考勤管理系统(java+sql-sever-2000).doc

    "得分: " " 课程设计报告 "工资管理系统--职工考勤管理系统 " "姓名 " LS " "班级 " " "学号 "QQ:1054180233 " "课程名称 "数据库原理及应用 " "指导教师 " " 2011年12月15日 目 录 1.工资管理系统需求分析……...

    煤矿井下作业工人工作倦怠与事故倾向性研究

    通过对980个有效数据进行分析显示:1煤矿工人工作倦怠及其3个分量与事故倾向性均呈正相关,其中情绪衰竭和玩世不恭与事故倾向性的相关性较成就感低落明显高;2年龄介于20~50岁的煤矿工人随着年龄的增长工作倦怠数值逐渐...

    数据库系统原理.doc

    二 教学数据库的如下3个基本表 学生Student(学号Sno,姓名Sname,所在系Sdept,年龄Sage,性别Ssex tob_id_5389 课程Course(课程号Cno,课程名称Cname,先修课号Cpno,学分Ccredit) 学生选课SC(学号Sno,课程号Cno,成绩...

    数据库资料

    R图转换为表 3-2 如何将E-R图转换为表数据规范化 仅有好的RDBMS并不足以避免数据冗余,必须在数据库的设计中创建好的表结构 Dr E.F.codd 最初定义了规范化的三个级别,范式是具有最小冗余的表结构。这些范式是:第一...

    数据库实验二

    数据库实验二

    [详细完整版]数据库的作用.doc

    例如,人事部门常常要把单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资 、简历等)存放在表中,这张表就可以看成是一个数据库。有了这个"数据仓库"我们就可 以根据需要随时查询某职工的基本情况,也可以...

    C语言程序设计标准教程

    如一个班的学生档案,一个车间职工的工资表等。 结构数组的定义方法和结构变量相似,只需说明它为数组类型即可。例如: struct stu { int num; char *name; char sex; float score; }boy[5]; 定义了一个结构数组...

    华创社保基金与医疗报销管理系统 v7.1.zip

    与同类产品相比,最大不同是:以平台为基础,可按需自定义,不是固定死的。 华创社保基金与医疗报销管理系统功能说明 (1)社保基金管理:建立职工社保缴费明细,按照缴费基数自动计算缴费额,包括养老保险、医疗...

    人力资源管理软件(完全免费)

    员工编辑和管理体现工龄和年龄(打印标识对应age、work_age、work_age_c)(感谢hui~星辉~) 一个岗位允许对应多个部门(便于多分公司管理)(感谢忆江南、冰雪、欢浪家园) 人事合同管理显示增加显示合同起止日期...

    Excel函数活用范例大辞典(全新版).何先军.2015-2(带书签高清文字版).pdf

    092 计算材料的3个最少消耗量 180 093 提取每月销量倒数第二的商品 182 ◎中值函数 183 094 计算3月份产品销量中值 183 095 设定社保缴费基数上下限 185 096 查找销售量处于中间位置的部门 186 ◎排名...

    Excel 2010函数应用速查手册

    源文件:光盘\源文件\01\014.xlsx 用例3:将数字转换成英文字符(CHAR) 源文件:光盘\源文件\01\012.xlsx 用例4:用¥表示应收账款金额(RMB) 源文件:光盘\源文件\01\019.xlsx 用例5:通过身份证号码计算年龄...

    进销存管理系统

    【一】 采购管理 模块名称 功能特点 1.厂商资料 记录供应商、厂家的基本信息,如:厂商名称、地址、所属地区、电话、执照号码、税务...4.组织机构 职工部门资料管理,可在此查阅各部门及各部门下各职员的基本资料。

    大型企业管理Erp系统商业源码,含完整源码、数据库和开发文档

    功能简介 管理功能特色: 快速全面易用:十分钟内可获得企业全部实时详细经营资料。三十分钟熟练操作本系统。所有单据、报表可立即在...4.组织机构 职工部门资料管理,可在此查阅各部门及各部门下各职员的基本资料。

Global site tag (gtag.js) - Google Analytics