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

1028. 人口普查(20)

时间限制

200 ms

内存限制

65536 kB

代码长度限制

8000 B

判题程序

Standard

作者

CHEN, Yue

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

这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过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

提醒:注意一下边界问题

 1 #include <iostream>
 2 #include <string.h>
 3 using namespace std;
 4 int compare(char a[20],char b[20])
 5 {
 6     for(int i=0; i<10; i++)
 7     {
 8         if(a[i]-b[i]>0)
 9             return 1;
10         if(a[i]-b[i]<0)
11             return 0;
12     }
13     return 0;
14 }
15 int main()
16 {
17     int n,count=0;
18 char name[10],a[20],old[10],young[10],biggest[20]="1814/09/05",smallest[20]="2014/09/07";
19     scanf("%d", &n);
20     //cin>>n;
21     for(int i=0; i<n; i++)
22     {
23         scanf("%s %s",name,a);
24         //cin>>name>>a;
25         if((compare(a,"1814/09/05"))&&(compare("2014/09/07",a)))
26         {
27             count++;
28             if(compare(a,biggest))
29             {
30                 strcpy(biggest,a);
31                 strcpy(young,name);
32             }
33             if(compare(smallest,a))
34             {
35                 strcpy(smallest,a);
36                 strcpy(old,name);
37             }
38         }
39     }
40     if(count>0)
41         printf("%d %s %s\n",count,old,young);
42     else
43         printf("0\n");
44     return 0;
45 }
时间: 2024-08-26 11:38:39

PAT-乙级-1028. 人口普查(20)的相关文章

PAT:1028. 人口普查(20) AC

#include<stdio.h> #include<stdlib.h> #include<string.h> #include<algorithm> using namespace std; struct STU { char mname[10]; int y,m,d; }tmp,old,young,left,right; void init() { old.y=right.y=2014; young.y=left.y=1814; old.m=right.

PTA乙级 (*1028 人口普查 (20分))

1028 人口普查 (20分) https://pintia.cn/problem-sets/994805260223102976/problems/994805293282607104 #include <iostream> #include <cstring> #include <string> #include <cmath> #include <algorithm> using namespace std; int main() { in

1028. 人口普查(20)

1028. 人口普查(20) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过200岁的老人,而今天是2014年9月6日,所以超过200岁的生日和未出生的生日都是不合理的,应该被过滤掉. 输入格式: 输入在第一行给出正整数N,取值在(0, 105]:随后N行,每行给出1个人的姓名(由不超过5个英文字母组成的字符串).以及按"yyyy/mm/dd"(即年/月/日)格式给出的生

1028 人口普查 (20 分)

某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉. 输入格式: 输入在第一行给出正整数 N,取值在(:随后 N 行,每行给出 1 个人的姓名(由不超过 5 个英文字母组成的字符串).以及按 yyyy/mm/dd(即年/月/日)格式给出的生日.题目保证最年长和最

1028. 人口普查

1028. 人口普查(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是2014年9月6日,所以超过200岁的生日和未出生的生日都是不合理的,应该被过滤掉. 输入格式: 输入在第一行给出正整数N,取值在(0, 105]:随

PAT——乙级1028

这道题花了我半个多小时,对呀乙级算是挺多时间的了. 1028 人口普查 (20 point(s)) 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉. 输入格式: 输入在第一行给出正整数 N,取值在(0,10?5??]:随后 N 行,每行给出 1 个人的姓名(

P 1028 人口普查

转跳点:?? 1028 人口普查 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉. 输入格式: 输入在第一行给出正整数 N,取值在(:随后 N 行,每行给出 1 个人的姓名(由不超过 5 个英文字母组成的字符串).以及按 yyyy/mm/dd(即年/月/日)

PAT乙级1034. 有理数四则运算(20)

本题要求编写程序,计算2个有理数的和.差.积.商. 输入格式: 输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为0. 输出格式: 分别在4行中按照“有理数1 运算符 有理数2 = 结果”的格式顺序输出2个有理数的和.差.积.商.注意输出的每个有理数必须是该有理数的最简形式“k a/b”,其中k是整数部分,a/b是最简分数部分:若为负数,则须加括号:若除法分母为0,则输出“Inf”.题目保证正确的输出中没

PAT (Basic Level) Practise:1028. 人口普查

[题目链接] 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是2014年9月6日,所以超过200岁的生日和未出生的生日都是不合理的,应该被过滤掉. 输入格式: 输入在第一行给出正整数N,取值在(0, 105]:随后N行,每行给出1个人的姓名(由不超过5个英文字母组成的字符串).以及按“yyyy/mm/dd”(即年/月/日)格式给出的生日.题目保证最年长和最年轻