首页

文章

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

发布网友 发布时间:2022-03-04 08:40

我来回答

11个回答

热心网友 时间:2022-03-04 10:09

不等价,因为判断闰年的标准是: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点,就有了现有的闰年判断标准.

能被4整除且不能被100整除的为闰年。如2004年就是闰年,1900年不是闰年。世纪年能被400整除的是闰年,如2000年是闰年,1900年不是闰年。对于数值很大的年份,这年如果能被3200整除,并且能被172800整除则是闰年。如172800年是闰年,86400年不是闰年,因为虽然能被3200整除,但不能被172800整除。

热心网友 时间:2022-03-04 11:27

不等价,因为判断闰年的标准是: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点,就有了现有的闰年判断标准。

热心网友 时间:2022-03-04 13:02

#include<stdio.h>

void 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("\n%d此年是闰年\n",year);

else printf("%d此年非闰年\n",year);

1.你要清楚什么样的年份才是闰年(能被4整除且不能被100整除或者能被400整除的。
2. 判断语句
if( ((0 == year%4)&&(0 != year%100)) ||(0 == year %400) )
{//满足该条件的yeat就是闰年。}
以下是源程序代码:
#include <stdio.h>
int main (void) {
int year;
printf ("please a year:");
scanf ("%i",&year);
if((year%4==0 && year%100!=0)||year%400==0){ printf ("%i is a leap year!",year);}else{ printf ("%i is not a leap year!",year);}
return 0;}

热心网友 时间:2022-03-04 14:53

不等价的。比如1900,你的判断方法就是它是闰年,但事实上,1900不是闰年。http://zhidao.baidu.com/question/28047556.html
这里有详细介绍。我当初学c的时候也有这个疑问,然后百度了一下,发现算法的发明者真的考虑的很周到,当时我也以为发现了真理,其实,还差的很远。加油!!!追问我记得初中的时候,老师说不是除以四就是闰年么?这样的话100,200都不是闰年了。。

追答是滴!事实就是这样子。当时我们的知识储备可能还不过吧。

热心网友 时间:2022-03-04 17:01

“!=”是不等于符号呀,year%100!=0是判断year除100余数是否为0,余数不等于0的话输出为1,余数等于0 输出为0。

热心网友 时间:2022-03-04 19:26

公历年份是4的倍数的一般都是闰年;但公历年份是整百数的,必须是400的倍数才是闰年。如1900年不是闰年,而2000年是闰年。

热心网友 时间:2022-03-04 22:07

当然不等。1900、2100年都不是闰年,但year%4==0却成立!

热心网友 时间:2022-03-05 01:05

闰年:是指可以被 4 整除时且不可以被 100 整除,或可以被 400 整除的年份追问1896是闰年吧 ?那么四年后应该也是闰年呀 1900为什么不是闰年呢?

追答并不是闰年的4年之后又是闰年。闰年是按照规则计算出来的。

热心网友 时间:2022-03-05 04:20

#include<stdio.h>


void 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("\n%d此年是闰年\n",year);


else printf("%d此年非闰年\n",year);

1.你要清楚什么样的年份才是闰年(能被4整除且不能被100整除或者能被400整除的。

2. 判断语句
if(  ((0 == year%4)&&(0 != year%100)) ||(0 == year %400) )
{//满足该条件的yeat就是闰年。}
以下是源程序代码:
#include <stdio.h>

int main (void) {

int year;

printf ("please a year:");
scanf ("%i",&year);

if((year%4==0 && year%100!=0)||year%400==0){  printf ("%i is a leap year!",year);}else{  printf ("%i is not a leap year!",year);}
return 0;}

热心网友 时间:2022-03-05 07:51

小哥哥 or 小姐姐 or 小弟弟 or 小妹妹:
你好;

你怎么可以这样说呢,逻辑上咋能这样推导呢;
我就给你举个反例吧,你猜1900年是平年还是闰年呢?
注:1900 % 4 == 0 && 1900 % 100 == 0 && 1900 % 400 != 0.

热心网友 时间:2022-03-05 11:39

不等价,因为判断闰年的标准是: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点,就有了现有的闰年判断标准。
手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 软柿子的热量 孕妇可以吃软柿子吗不是西红柿 脆柿子和软柿子的区别 脆柿子好还是软柿子好 软柿子可以多吃吗 “鱼悬洁白振清风”的出处是哪里 用大自然的声音评课好吗? 妇产科博士找超声科工作容易吗 怎能把微信6.2.0版本换回6.1.2版 微信群6.2.4怎么增加人数上限 微信6.2.2如何备份手机通讯录 电脑桌面图标不能放大? 有什么好用的识图软件 识图认人哪个软件最好 手机识图软件什么软件能识别图片位置 小米手机自动锁屏时间怎么修改 小米手机屏幕锁定时间设置教程 能举起100斤算大力吗 中医美容专业是什么 中医美容证有什么用 单声道音频什么意思(开启单声道音频有什么好处) 单声道音频是什么,有什么用处? 户口还未迁移到婆家 娘家户口怎么就没了呢 我结婚没有迁户口,现在娘家也没有怎么办 没领证生的孩子一般会判给谁 没领证生的孩子会判给谁 信用卡卡种有哪些 找一首古风歌曲 男声 低配电脑装w10还是w7流畅 电脑配置低装win7还是win10好 低配电脑适合装WIN7系统还是WIN10系统? ...500s-15isk这个联想笔记本的内存条尺寸是什么型号的有没有知道的... 越快越好.怎样减肥.而且胸部不缩水 请问徐闻县海安长途汽车客运站客服是多少? 过了平台期还会瘦吗 悦耳的意思悦耳的解释 重庆师范大学应用心理学专业的权威性如何? 打印机laserjetm1136mfp怎样设置无线打印 经典电影赏析之1:《精武英雄》 爆米花用的什么玉米 糯玉米哪个好 有机糯玉米的营养价值如何? 四大直辖市换帅原因 C语言中怎样判断一个数是几位 C语言中如何判断数据类型? 如何知道c语言中的算术表达式是合法的? 个体工商户怎么办理? C语言怎样才能看懂 如何判断一个程序是C编译的还是C++编译的 c如何确定?高数微分方程 怎么知道C语言按键码是多少? 老人死了,身份证跟银行卡丢了怎么取钱 如何理解C? 老人去世了,银行卡丢了,但知道密码怎么办 我父亲的银行卡丢失了,但是他现在身体因为身体原因无法去银行补办,我该怎么办,才能帮他办理手续呢? 老人去世了,银行卡丢了,但知道密码,如何补卡? 老人临终时的银行卡和身份证都丢失了怎么办? 2018年个体户营业执照办理流程 怎么在网上申请个体户营业执照 新浪微群发的微博怎么删???? 个体工商户营业执照怎么注册 我要办个体户的营业执照,请问我需要准备什么、怎样办理? 全国计算机等级考试证书在哪领取?我是西安的 c语言如何判断整数 佛山市电子营业执照网上办理流程 佛山禅城营业执照注销具体步流程是什么? 如何判断c语言中数的进制 佛山市南海黄岐附近个体工商户营业执照办理流程需要什么证件,在哪里办理?求高手? 在佛山市南海区开精品店办理工商营业执照有哪些流程? C语言,如何判断一个数是数字啊? A C如何判断 佛山营业执照注销具体步流程是什么? 在南宁注册公司需要什么? 为什么word中的表格文字显示不全 在南宁注册新公司流程和资料 南宁注册公司需要什么材料 南宁市申报新版营业执照 南宁市行政审批大厅可以办理营业执照经营范围变更吗? 为什么PPT右边不显示自定义动画的具体内容了 怎么办蛋糕店营业执照 开蛋糕店营业执照如何办理? 蛋糕店的营业执照怎么办理? 微信里视频聊天的视频会自动保存吗?在哪里可以找到?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com