1028 人口普查

2021-09-27 13:45:04 字數 679 閱讀 4438

分析:過濾不合理的資料:超出200歲和未出生

找出最年長和最年輕的人

思路:用string name[i]儲存姓名,string birth[i]儲存出生日期

過濾出生日期大於2014/09/06,小於1814/09/06的資料

統計有效人數,直接比較出生日期

**如下

#include

#include

using

namespace std;

intmain()

if(birth[i]

<= min)}if

(0== total)

else

cout << total <<

' '<< name[mi]

<<

' '<< name[ma]

;}

反饋:

一開始還在考慮怎樣在輸入的時候將年月日提取出來,後來想到直接比較string就行了,string真是強大啊

注意點:

wa了一次,測試點3未通過

先猜測是邊界資料沒考慮周全,驗證後無問題

上網查詢發現是有效人數為0的情況,該情況下不輸出人名(因為沒有)

1028 人口普查

某城鎮進行人口普查,得到了全體居民的生日。現請你寫個程式,找出鎮上最年長和最年輕的人。這裡確保每個輸入的日期都是合法的,但不一定是合理的 假設已知鎮上沒有超過200歲的老人,而今天是2014年9月6日,所以超過200歲的生日和未出生的生日都是不合理的,應該被過濾掉。輸入格式 輸入在第一行給出正整數n...

1028 人口普查

某城鎮進行人口普查,得到了全體居民的生日。現請你寫個程式,找出鎮上最年長和最年輕的人。這裡確保每個輸入的日期都是合法的,但不一定是合理的 假設已知鎮上沒有超過200歲的老人,而今天是2014年9月6日,所以超過200歲的生日和未出生的生日都是不合理的,應該被過濾掉。輸入格式 輸入在第一行給出正整數n...

1028 人口普查

某城鎮進行人口普查,得到了全體居民的生日。現請你寫個程式,找出鎮上最年長和最年輕的人。這裡確保每個輸入的日期都是合法的,但不一定是合理的 假設已知鎮上沒有超過200歲的老人,而今天是2014年9月6日,所以超過200歲的生日和未出生的生日都是不合理的,應該被過濾掉。輸入格式 輸入在第一行給出正整數n...