C语言判断闰年标准的依据

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wz947324/article/details/79974840

C语言判断闰年的方法为:

if((year/4==0&&year/100!=0)||(year/400==0)){
    printf("该年是闰年");
}else{
    printf("该年不是闰年");
}

判断标准为:

1. 能整除4且不能整除100.

2. 能整除400

为什么会有这样的判断标准呢?分析如下:

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点,就有了现有的闰年判断标准。
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页