我們現行所用的曆法起源可以追溯到西元前46年,當時羅馬帝國凱薩大帝(Gaius Julius Caesar)聘請天文學家制訂新曆法,規定一年12個月,單月31天,雙月30天,共366天,但由於精確來說一年為365.2422天,所以從二月扣去一天,使二月變成29天,但這麼一來又比一年真正的時間短,因此又決定每四年加一天為閏年來補這個誤差。凱撒出生的七月為大月,以自己的名字Julius來命名;而繼任的奧古斯都(Augustus)為了顯揚自己,也將八月改名為Augustus,還將他出生的八月改為大月,可是原本八月是30天變成31天,平白多了一天,只好從二月再挪一天過來,於是成了現今平年二月只有28天的版本。
也由於一年精確算來是365.2422天,為了修正小數點後的誤差,除了每四年為閏年之外,每百年不閏年,每四百年則又閏年,每四千年則不閏(口訣:逢四閏,逢百不閏,逢四百閏,逢四千不閏)。
例如:
1992、1996、2004年為4的倍數,閏年;
1700、1800、1900年為100的倍數,不是閏年;
1600、2000、2400年為400的倍數,閏年;
4000、8000、12000年為4000的倍數,不是閏年。
請使用C/C++語言設計一程式,接受使用者連續輸入年份,判斷是否為閏年,當輸入為負值時,程式結束;輸入值在0000~9999間能正確運作即符合要求。
可以下列資料測試結果是否正確:
1899(平)、1900(平)、1999(平)、2000(閏)、2400(閏)、4000(平)
更新1:
開頭是 #include<stdio.h> int main() {............ .......... . 之類ㄉ 我是新手=ˇ= 不要寫太難