1028. 人口普查(20)
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
#include <iostream> #include <iomanip> #include <math.h> #include <stdio.h> #include <string>using namespace std;struct people {char name[10];int yy;int mm;int dd; }oldest,youngest,zuo,you,temp;bool xiaoyu(people a, people b) {if (a.yy != b.yy) return a.yy <= b.yy;else if (a.mm != b.mm) return a.mm <= b.mm;else return a.dd <= b.dd; }bool dayu(people a, people b) {if (a.yy != b.yy) return a.yy >= b.yy;else if (a.mm != b.mm) return a.mm >= b.mm;else return a.dd >= b.dd; }int main() {youngest.yy = zuo.yy = 1814;oldest.yy = you.yy = 2014;youngest.mm = oldest.mm = zuo.mm = you.mm = 9;youngest.dd = oldest.dd = zuo.dd = you.dd = 6;int n, cnt = 0;cin >> n;for (int i = 0; i < n; i++){scanf("%s %d/%d/%d", temp.name, &temp.yy, &temp.mm, &temp.dd);if (dayu(temp, zuo) && xiaoyu(temp, you)){cnt++;if (xiaoyu(temp, oldest)) oldest = temp;if (dayu(temp, youngest)) youngest = temp;}}if (cnt == 0) cout << "0" << endl;else cout << cnt << " " << oldest.name << " "<<youngest.name << endl;system("pause");return 0; }
转载于:https://www.cnblogs.com/brightz2017/p/6580552.html
1028. 人口普查(20)相关推荐
- C++学习之路 | PTA乙级—— 1028 人口普查 (20 分)(精简)
1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...
- PAT乙级1028 人口普查 (20 分)
1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...
- 【2020模拟考试T3】【PAT乙】1028 人口普查 (20分) 字符串比较
problem 1028 人口普查 (20分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇 ...
- 1028 人口普查 (20 分)C++ 示例代码
1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...
- 1028 人口普查 (20 分)测试点3格式错误
1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...
- 1028 人口普查(20)(20 分)
1028 人口普查(20)(20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超 ...
- PAT乙级—1028. 人口普查(20)-native
某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过200岁的老人,而今天是2014年9月 ...
- 【PAT (Basic Level) 】1028 人口普查 (20 分)
某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人.这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 岁的老人,而今天是 2014 ...
- 1028 人口普查 (20 分)(c语言)
某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 岁的老人,而今天是 2014 ...
最新文章
- linux基础学习(二)
- 《The Elements of User Experience》读书笔记
- linux eclipse web插件,使用Tomcat插件开发WEB应用
- RabbitMQ学习总结(3)——入门实例教程详解
- /src/log4j.xml
- 通过java查询数据库表结构
- 最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和...
- 易天ETU-link 100G QSFP28光模块系列资料
- braft中AppendEntries逻辑
- paip. mysql如何临时 暂时 禁用 关闭 触发器
- 界面扩大缩小操作按钮_少儿编程|04.Scratch编程基本操作
- 2.4g和5g要不要合并_路由器2.4g和5g双频合一好还是分开好
- flutter 上滑悬浮吸顶
- 数字万用表数字多用表软件下载安装教程
- 小米WatchS2和小米WatchS1 区别 哪个值得入手
- 微信支付平台设置及如何获取微信支付所需参数
- 七巧板复原算法之小结局——给出一个最大结果集
- ubuntu在编译opencv3.4.1遇到[modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/dls.cpp.o]错误
- 【Java就业培训教材】——集合的学习
- 微信如何做到只接收某一个人的消息提醒