乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范。从小白开始逐步掌握用编程解决问题。
问题分析:
题目给定一堆生日, 要求输出最年长和最年轻的人.
同时说明时间有不合理的数据, 需要排除掉超过200岁和未出生的生日.
今天的日期是2014年9月6日.
所以, 题目可以描述为:
给定一些生日信息, 排除掉日期大于2014/09/06的日期, 以及小于1814/09/06的日期。
找出剩下的日期里最大的日期和最小的日期.
输出剩下的日期的个数, 生日最大的人的姓名, 生日最小的人的姓名
如何比较日期大小
首先比较年份大小,
如果年份相同, 比较月份大小
如果月份也相同, 比如日期大小
比较过程在不同编程语言中实现有所不同
完整描述步骤
- 获取输入: 生日数据个数, 详情的生日日期
- 过滤掉不在合理范围的生日
- 对于每个日期, 检查是否是最大的日期或者是最小的日期. 统计当前最大最小的日期和对应的人名
- 输出合理范围的生日个数, 生日最大的人名, 生日最小的人名
伪代码描述
- get input birthday_amount
- init reasonable_amount = 0, max_birthday_name = “”, min_birthday_name = “”