如何判斷是否為閏年?
C語言編程問題,如何判斷是否為閏年?
#include
int main(void)
{
int n;
while (scanf("%d",&n),n!=0)
{
if(n%4==0&&n%100!=0||n%400==0) //判斷是否為閏年
{
printf("%d ",n);
}
else
{
continue;
}
}
return 0;
}
C語言如何判斷是閏年,閏年判斷條件
不等價,因為判斷閏年的標準是:1、能整除4且不能整除100 2、能整除400
你的意思是:
每4年有個閏年<——>1896是閏年,4年後1900也是閏年<——>除以4就是閏年
但嚴格上講,"每4年一個閏年"這說法不嚴謹。應該是四年一閏,百年不閏,四百年再閏。
為什麼呢?
1、產生閏年原因:地球繞太陽運行週期為365天5小時48分46秒(合365.24219天)即一回歸年(tropical year)。公曆的平年只有365日,比迴歸年短約0.2422 日,所餘下的時間約為四年累計一天,故四年於2月加1天,使當年的歷年長度為366日,這一年就為閏年。
2、但是,上面算法又有了一個問題。就是0.2422*4=0.9688,比一天還差0.0322天,每4年差0.0322天不算多,但每400年就會差了約3天。即是說,假如每4年一個閏年,那麼每400年就會有100個閏年,然後會多算了3天。
所以,就規定了每四百年中要減少三個閏年。公曆年份是整百數的,必須是400的倍數的才是閏年,不是400的倍數的,雖然是100的倍數,也是平年。
綜合以上2點,就有了現有的閏年判斷標準。
怎麼判斷一個年份是不是閏年
1、普通情況求閏年只需除以4可除盡即可 年/4餘數為0
2、如果是100的倍數但不是400的倍數,那就不是閏年了,即末兩位都是零的整除400才行
像1700、1800、1900、2100都不是閏年,但是2000、2400是的.
3、2100年不是閏年,閏年不是象你們所說以加4為判斷閏年標準的,所以閏年有些4年一次,但是有些是8年一次的.例如:1896年是閏年,但1900年不是,到1904年才是閏年.
如何辨別年份是否為閏年
很簡單,公元年數可被4整除(但不可被100整除)為閏年,但是正百的年數必須是可以被400整除的才是閏年。其他都是平年。
希望能幫到您。
怎樣判斷某一年裡閏年還是平年?
公元年數可 被4整除 為閏年,但是正百的年數必須是可以被400 整除的才是 閏年。其他都是平年