PAT 1028 人口普查 (20 分)
题目描述:
某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。
这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。
输入格式:
输入在第一行给出正整数 N,取值在(0,105];随后 N 行,每行给出 1 个人的姓名(由不超过 5 个英文字母组成的字符串)、以及按 yyyy/mm/dd(即年/月/日)格式给出的生日。题目保证最年长和最年轻的人没有并列。
输出格式:
在一行中顺序输出有效生日的个数、最年长人和最年轻人的姓名,其间以空格分隔。
输入样例:
5
John 2001/05/12
Tom 1814/09/06
Ann 2121/01/30
James 1814/09/05
Steve 1967/11/20
输出样例:
3 Tom John
题解:
C++实现:
#include <iostream>
#include <cstdio>
using namespace std;
struct Date
{char name[10];int y; //年int m; //月int d; //日
};
int main()
{int N = 0, count = 0;cin >> N;struct Date min, max, a;max.y = 2014, max.m = 9, max.d = 7;min.y = 1814, min.m = 9, min.d = 5;while (N--){scanf("%s %d/%d/%d", a.name, &a.y, &a.m, &a.d);count++;if (a.y > 2014 || (a.y == 2014 && a.m > 9) || (a.y == 2014 && a.m == 9 && a.d > 6)){count--;continue; //不符合条件的直接进入下一次循环}else if (a.y < 1814 || (a.y == 1814 && a.m < 9) || (a.y == 1814 && a.m == 9 && a.d < 6)){count--;continue; //不符合条件的直接进入下一次循环}if (a.y < max.y || (a.y == max.y && a.m < max.m) || (a.y == max.y && a.m == max.m && a.d < max.d)){max = a;}if (a.y > min.y || (a.y == min.y && a.m > min.m) || (a.y == min.y && a.m == min.m && a.d > min.d)){min = a;}}printf("%d", count);if (count != 0){printf(" %s %s", max.name, min.name);}return 0;
}
提交结果:
PAT 1028 人口普查 (20 分)相关推荐
- PAT乙级1028 人口普查 (20 分)
1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...
- 【2020模拟考试T3】【PAT乙】1028 人口普查 (20分) 字符串比较
problem 1028 人口普查 (20分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇 ...
- 1028 人口普查 (20 分)C++ 示例代码
1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...
- C++学习之路 | PTA乙级—— 1028 人口普查 (20 分)(精简)
1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...
- 1028 人口普查 (20 分)测试点3格式错误
1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...
- 【PAT (Basic Level) 】1028 人口普查 (20 分)
某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人.这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 岁的老人,而今天是 2014 ...
- 1028 人口普查 (20 分)(c语言)
某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 岁的老人,而今天是 2014 ...
- 测试点3错的来:1028 人口普查 (20分)(解题报告)
立志用更少的代码做更高效的表达 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 20 ...
- 1028 人口普查 (20分)
某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 岁的老人,而今天是 2014 ...
最新文章
- 用python做一个图片验证码
- 4位数学家获得2018年菲尔兹奖
- 技术分享:几种常见的JavaScript混淆和反混淆工具分析实战【转】
- 340. 通信线路(分层图最短路)
- Python中调用Linux命令并获取返回值
- 自动化Debias框架,一键去除推荐系统所有Bias
- 设计一个笔记本电脑类,属性随意,并且进行属性私有化,对外提供公开的set和get方法。 设计一个可插拔的接口:InsertDrawable,该接口有什么方法自行定义。
- 六妙招让死钱变活钱[转]
- Laravel-事件简单使用
- 力扣-1557. 可以到达所有点的最少点数目
- 搭建STM32开发环境——STM32CubeMX并配合Keil5重写跑马灯程序
- linux安装monaco字体
- Android自定义Dialog的Match_parent无效问题解决
- 《Android编程权威指南(第三版)》第五章挑战练习Demo
- 【校园卡】更新联通校园卡套餐海报及常规操作,校园卡最新消息及选购建议,增加评论功能...
- 实现手机端的触屏滑动效果
- Linux 中的内存管理单元MMU
- 四目大视场四目夜视镜 --TFN TD401 大视场头盔四目夜视仪 夜视镜 无需转头微光夜视系统 四目四管
- 林业数字孪生打造实时树木“管家”
- 计算机火线接口指的,[声卡midi接口怎么用]火线接口声卡和midi接口声卡
热门文章
- 基于android的系统论文,基于安卓系统的系统毕业论文.doc
- macOS无法退出登录,显示关闭所有icloud服务再试一次
- MapReduce实现二次排序续(十)
- 在Node.js中使用事件,监听器,定时器和回调
- 键盘KeyCode对照表
- ZOJ 3759 几个二元二次不定方程的解法
- VS2013下Boost1.68的编译
- PrivaZer(清除上网痕迹)
- 跟着我左手右手一个慢动作,轻松提交AppStore(AppStore提交App流程最新超详细攻略)(领证篇)
- 启动mysql报错:ERROR! The server quit without updating PID file