C语言如何判断是闰年,闰年判断条件

[复制链接]
查看11 | 回复5 | 2018-5-8 21:44:00 | 显示全部楼层 |阅读模式
不等价,因为判断闰年的标准是: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天不算...
回复

使用道具 举报

千问 | 2018-5-8 21:44:00 | 显示全部楼层
不等价,因为判断闰年的标准是:1、能整除4且不能整除1002、能整除400你的意思是:每4年有个闰年1896是闰年,4年后1900也是闰年除以4就是闰年 但严格上讲,"每4年一个闰年"这说法不严谨。应该是四年一闰,百年不闰,四百年再闰。为什么呢?1、产生闰年原因:地球绕太阳运行周期为365天5小时48分46秒(合3...
回复

使用道具 举报

千问 | 2018-5-8 21:44:00 | 显示全部楼层
#includevoid main(){int year,a;printf("请输入年份:");scanf("%d",&year);if((year/4==0&&year/100!=0)||(year/400==0)) a=1;else a=0;if(a=1)printf("\...
回复

使用道具 举报

千问 | 2018-5-8 21:44:00 | 显示全部楼层
不等价的。比如1900,你的判断方法就是它是闰年,但事实上,1900不是闰年。http://zhidao.baidu.com/question/28047556.html这里有详细介绍。我当初学c的时候也有这个疑问,然后百度了一下,发现算法的发明者真的考虑的很周到,当时我也以为发现了真理,其实,还差的很远。加油!!!...
回复

使用道具 举报

千问 | 2018-5-8 21:44:00 | 显示全部楼层
公历年份是4的倍数的一般都是闰年;但公历年份是整百数的,必须是400的倍数才是闰年。如1900年不是闰年,而2000年是闰年。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行