某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。

题目描述

某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。

这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是2014年9月6日,所以超过200

岁的生日和未出生的生日都是不合理的,应该被过滤掉。

输入描述:

输入在第一行给出正整数N,取值在(0, 10

5

];随后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

然后呢本人遇到了如上的麻烦,在百度以后,得知段错误出现是因为可能所以得日期都是不合理的,所以要判断合理日期个数。可是我判断了,还是段错误,代码如下:请大佬指教。
 1 #include<iostream>
 2 #include<vector>
 3 struct people{
 4     char name[5];
 5     int y;
 6     int m;
 7     int d;
 8     int c;
 9 };
10 int main(){
11     int n;
12     people p[10000];
13     people p1,p2;
14     scanf("%d",&n);
15     int i=0;
16     int k=0;
17     while(n--){
18     scanf("%s %d/%d/%d",p[i].name,&p[i].y,&p[i].m,&p[i].d);
19     p[i].y*=10000;
20     p[i].m*=100;
21     p[i].c=p[i].y+p[i].m+p[i].d;
22     if(p[i].c>=18140906&&p[i].c<=20140906){
23         k++;
24         if(k==1){
25             p1=p[i];
26             p2=p[i];
27         }
28         else if(p[i].c<p1.c) p1=p[i];
29         else if(p[i].c>p2.c)  p2=p[i];
30     }
31
32
33     i++;
34 }
35 if(k!=0)
36 printf("%d %s %s",k,p1.name,p2.name);
37 else printf("0");
38 }

转载于:https://www.cnblogs.com/fromzore/p/9299557.html

人口普查(20) PAT相关推荐

  1. PAT乙级1028 人口普查 (20 分)

    1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...

  2. 【2020模拟考试T3】【PAT乙】1028 人口普查 (20分) 字符串比较

    problem 1028 人口普查 (20分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇 ...

  3. 1028 人口普查 (20 分)C++ 示例代码

    1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...

  4. 1028. 人口普查(20)

    1028. 人口普查(20) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过200岁 ...

  5. C++学习之路 | PTA乙级—— 1028 人口普查 (20 分)(精简)

    1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...

  6. 1028 人口普查 (20 分)测试点3格式错误

    1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 2 ...

  7. 1028 人口普查(20)(20 分)

    1028 人口普查(20)(20 分) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超 ...

  8. 【PAT (Basic Level) 】1028 人口普查 (20 分)

    某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人.这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 岁的老人,而今天是 2014 ...

  9. PAT乙级—1028. 人口普查(20)-native

    某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过200岁的老人,而今天是2014年9月 ...

  10. PAT 1028 人口普查 (20 分)

    题目描述: 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 岁的老人,而今天 ...

最新文章

  1. 计算机二级应用题改卷,全国计算机等级考试二级Python语言程序设计模拟试卷B卷综合应用题-Go语言中文社区...
  2. 搜索引擎选择: Elasticsearch与Solr
  3. Swift - UIView的无损截图
  4. STL的红与黑--rb_tree红黑树
  5. 校招面试必读 Tips
  6. Kubernetes-native 弹性分布式深度学习系统
  7. Spring Boot基础学习笔记22:自定义用户控制、登录与退出
  8. 简书首页标题配图bug,偶发,未能重现(可以重现2017-12)
  9. 例2.11 FatMouse' Trade - 九度教程第21题(贪心算法)
  10. Blender:雕刻笔刷动态图解(一)
  11. 同济线性代数教材(第五版)-第1章 行列式
  12. ubuntu20.04安装Linux原生的微信,请注意,这不是wine版本的微信
  13. 计算机屏幕抖动怎么办,电脑显示屏画面颤抖是怎么回事?
  14. python画图网格线设置_python基础之plt.grid(网格线设置)
  15. 香蜜沉沉烬如霜里的共付鸿蒙,香蜜沉沉烬如霜的伤感句子35条
  16. 富爸爸穷爸爸(读后感悟,书中重点)
  17. 怪物的生成 攻击和掉落金币
  18. 微信分享网络图片到朋友圈和收藏不显示图片的问题
  19. 计算机审计应用的心得体会,计算机审计中级培训心得体会范文
  20. 参数化2--CSV Data Set Config 参数化配置

热门文章

  1. vb.net 正则 替换 第n个_Python中正则表达式模块详解
  2. java代码写jsp读取,Java IO学习基础之读写文本文件-JSP教程,Java技巧及代码
  3. matlab消去前一个图,各位matlab高手,如何从2个3元方程中消去一个变量,然后做3维图形~...
  4. linux下的python环境,linux下python环境
  5. 十年Java编程开发生涯,java内存溢出和内存泄漏的区别
  6. 史上超级详细:HashMap源码分析,你了解到源码的魅力了嘛
  7. linux页面置换的存储,3.4.4 第二次机会页面置换算法
  8. mysql报错无效默认值1067_Mysql 报错:#1067 - Invalid default value for 'update_time
  9. mac系统学习和快捷键
  10. (1)搞一搞 seata 之 基础环境搭建