人口普查 (20分)
总结:
- 有效日期范围:[1814/09/06,2014/09/06],即1814/09/05<birth<2014/09/07。
- 特例:无有效生日,即cnt=0,输出“0”,后面无空格&任何输出。
- 使用string类型存储出生年月,可以直接比较大小。
- string大小:从前向后,比较字典序。
代码:
#include <iostream>
#include <cstring>
using namespace std;
int main(){
int n, cnt=0;
string birth, first = "1814/09/05", last = "2014/09/07"; //yyyy/mm/dd格式
string old = last, young =first;
string name, oldname, yname;
cin>> n ;
for(int i=0; i<n; i++){
cin>>name>>birth;
if( birth > first && birth < last ){
cnt++;
if( birth > young){
young = birth;
yname = name;
}
if( birth < old){
old = birth;
oldname = name;
}
}
}
cout<<cnt; //cnt=0 后续不输出
if(cnt) cout<<" "<<oldname<<" "<<yname;
return 0;
}