如何判斷是否為閏年?

General 更新 2024-12-25

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 整除的才是 閏年。其他都是平年

相關問題答案
如何判斷是否為閏年?
如何判斷是否有糖尿病?
如何判斷是否懷孕了?
C語言如何判斷是閏年,閏年判斷條件 ?
如何判斷是廢物測試?
如何判斷是不是傳銷?
如何判斷是不是激素臉?
如何判斷是不是腎虛?
判斷是否為質數的算法?
判斷是否為同源染色體?