我用织梦5.7做个网站应该把淘宝客店铺链接放到哪,在欣欣网上做网站效果如何,福建外贸网站建设,wordpress 作品 区别某城镇进行人口普查#xff0c;得到了全体居民的生日。现请你写个程序#xff0c;找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的#xff0c;但不一定是合理的——假设已知镇上没有超过 200 岁的老人#xff0c;而今天是 2014 年 9 月 6 日#xff0c;所… 某城镇进行人口普查得到了全体居民的生日。现请你写个程序找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的但不一定是合理的——假设已知镇上没有超过 200 岁的老人而今天是 2014 年 9 月 6 日所以超过 200 岁的生日和未出生的生日都是不合理的应该被过滤掉。 输入格式 输入在第一行给出正整数 N取值在(随后 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 #includecstdio
const int maxn 100100;
struct Person{int yy,mm,dd;char name[10];
}youngest,oldest,left,right,temp;bool bigger(Person a,Person b){ //a要比b大temp要比left大 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 less(Person a,Person 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;
}void init(){youngest.yy left.yy 1814;oldest.yy right.yy 2014;youngest.mm left.mm 9;oldest.mm right.mm 9;youngest.dd left.dd 6;oldest.dd right.dd 6;
}int main(){init();int n,count 0;scanf(%d,n);for(int i 0; i n; i){scanf(%s %d/%d/%d,temp.name,temp.yy,temp.mm,temp.dd);if(bigger(temp,left) less(temp,right)){count;if(bigger(temp,youngest)) youngest temp;if(less(temp,oldest)) oldest temp;}}if(count 0) printf(0\n);else printf(%d %s %s\n,count,oldest.name,youngest.name);return 0;
} 转载于:https://www.cnblogs.com/wanghao-boke/p/10268255.html