人口普查(20)
来源:互联网 发布:java客户管理系统源码 编辑:程序博客网 时间:2024/04/29 07:36
题目描述
某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。
这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过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<stdio.h>#include<stdlib.h>#include<string>#include<iostream>using namespace std;struct person{ char name[6]; int yy, mm, dd;}duru, old, young, left_P, right_P;bool left_law(person left_p,person q)//false is not legel { if (q.yy != left_p.yy) return q.yy >= left_p.yy; else if (q.mm != left_p.mm) return q.mm >= left_p.mm; else return q.dd >= left_p.dd;}bool right_law(person q, person right_p)//false is not legel{ if (q.yy != right_p.yy) return q.yy <= right_p.yy; else if (q.mm != right_p.mm) return q.mm <= right_p.mm; else return q.dd <= right_p.dd;}int main(void){ int count = 0; int N = 0; cin >> N; old.yy=left_P.yy = 1814; old.mm=left_P.mm = 9; old.dd=left_P.dd = 6; young.yy=right_P.yy = 2014; young.mm=right_P.mm = 9; young.dd=right_P.dd = 6; while (N--) { scanf("%s %d/%d/%d",duru.name,&duru.yy,&duru.mm,&duru.dd); if (left_law(left_P, duru) && right_law(duru, right_P)) { count++; if (left_law(duru ,young)) young = duru; if (right_law(old,duru)) old = duru; } } if (!count) printf("0"); else { printf("%d ", count); printf("%s ", young.name); printf("%s", old.name); } return 0;}
0 0
- 人口普查(20)
- 人口普查(20)
- 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028_人口普查(20)
- pat 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- PAT1028 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- 1028. 人口普查(20)
- PAT乙级 人口普查(20)
- Linux 扩展权限
- 图片名生成txt文件
- Node的升级
- 1
- R与Jupyter(windows)
- 人口普查(20)
- Web开发之HTML
- 算法细节系列(13):买卖股票
- WampServer服务器离线问题的解决方法
- Notepad++一键配置python运行 & 可能出现的文件路径错误
- dnw error:file open,进度条不动
- CentOS上实现一键Maven打包并部署到Tomcat的Shell脚本
- Sql日期时间格式转换
- C语言中数组名作为参数进行函数传递