C語言如何判斷是閏年,閏年判斷條件 ?
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整除而不能被100整除。(如2004年就是閏年,1900年不是)
2。能被400整除。(如2000年是閏年)
下面有個簡單的方法判斷是否是閏年。
(1)判斷年份是否是閏年,只須看年份的末兩位,如果末兩位數能整除4,那麼就是閏年,反之,就不是。
(2)遇到末兩位數都是0的年份,我們就看年份的前兩位數;如果前兩位數能整除4,那麼就是閏年,反之,就不是。
(3)如遇到2004年末兩位是04的,可以直接把它看做1位數,如果這個數能整除4,那麼就是閏年,反之,就不是。
怎樣區分平年和閏年?
4的倍數的年份就是閏年,比如,2008年就是閏年,+4,即2012年也是閏年~~
閏年的二月份有29天,平年都是28天~~是因為平年的二月份其實是28天零出來幾個小時,三個平年之後,那多餘出來的幾個小時加和之後就正好湊足一整天,也就是閏年的2月份多出來的那一天!
怎樣區分閏年與非閏年
如果那年的年份能除以4沒有餘數,那麼那年就是閏年,如果不行,就是平年.
比如說,2004,2008,2012,它們都能除盡4,沒有餘數,所以都是閏年.
然後閏年是366天,平年是365天,相差的一天主要是在2月,閏年有29號,平年沒有.
什麼是平年?什麼是閏年?平年與閏年怎樣區分??
一般的,能被4整除的年份是閏年,不能被4整除的年份是平年.如:1988年2008年是閏年;2005年2006年2007年是平年.但是如果是世紀年(也就是整百年),就只有能被400整除才是閏年,否則就是平年.如:2000年就是閏年,1900年就是平年
閏年的2月有29天,平年的2月只有28天.
怎麼判斷一個年份是不是閏年
1、普通情況求閏年只需除以4可除盡即可 年/4餘數為0
2、如果是100的倍數但不是400的倍數,那就不是閏年了,即末兩位都是零的整除400才行
像1700、1800、1900、2100都不是閏年,但是2000、2400是的.
3、2100年不是閏年,閏年不是象你們所說以加4為判斷閏年標準的,所以閏年有些4年一次,但是有些是8年一次的.例如:1896年是閏年,但1900年不是,到1904年才是閏年.