為什么不是直接可以被4整除來判斷是否為瑞年?
#include
int main() { ? ?int year = 2014; //今年是2014年 ? ?if((year%4!=0&&year%100==0)||year%400==0) ? ?{ ? ? ? ?printf("%s\n","今年是閏年"); ? ?} ? ?else ? ?{ ? ? ? ?printf("%s\n","今年是平年"); ? ?} ? ?return 0; 這是正確的 求解答 為什么不是直接除以4是否能夠被整除? 也就是 if(year%4==0)
2016-10-01
因為閏年的定義就是這樣?。旱厍蚶@太陽運行周期為365天5小時48分46秒(合365.24219天)即一回歸年(tropical year)。公歷的平年只有365日,比回歸年短約0.2422 日,所余下的時間約為每四年累計一天,故第四年于2月末加1天,使當年的歷年長度為366日,這一年就為閏年?,F(xiàn)行公歷中每400年有97個閏年。按照每四年一個閏年計算,平均每年就要多算出0.0078天,這樣經(jīng)過四百年就會多算出大約3天來。因此每四百年中要減少三個閏年。所以公歷規(guī)定:年份是整百數(shù)時,必須是400的倍數(shù)才是閏年;不是400的倍數(shù)的年份,即使是4的倍數(shù)也不是閏年。
????????四年一閏,百年不閏,四百年再閏。 例如,2000年是閏年,2100年則是平年。