问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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点,就有了现有的闰年判断标准。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果手机微信怎么换漂亮字体(苹果手机微信怎么换行输入) 有什么好用的app转换字体 手写转文字的软件 erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 C语言中怎样判断一个数是几位 C语言中如何判断数据类型? 如何知道c语言中的算术表达式是合法的? 个体工商户怎么办理? C语言怎样才能看懂 如何判断一个程序是C编译的还是C++编译的 c如何确定?高数微分方程 怎么知道C语言按键码是多少? 老人死了,身份证跟银行卡丢了怎么取钱 如何理解C? 老人去世了,银行卡丢了,但知道密码怎么办 我父亲的银行卡丢失了,但是他现在身体因为身体原因无法去银行补办,我该怎么办,才能帮他办理手续呢? 老人去世了,银行卡丢了,但知道密码,如何补卡? 老人临终时的银行卡和身份证都丢失了怎么办? 2018年个体户营业执照办理流程 怎么在网上申请个体户营业执照 新浪微群发的微博怎么删???? 个体工商户营业执照怎么注册 我要办个体户的营业执照,请问我需要准备什么、怎样办理? 全国计算机等级考试证书在哪领取?我是西安的 c语言如何判断整数 佛山市电子营业执照网上办理流程 佛山禅城营业执照注销具体步流程是什么? 如何判断c语言中数的进制 佛山市南海黄岐附近个体工商户营业执照办理流程需要什么证件,在哪里办理?求高手? 在佛山市南海区开精品店办理工商营业执照有哪些流程? C语言,如何判断一个数是数字啊? A C如何判断 佛山营业执照注销具体步流程是什么? 在南宁注册公司需要什么? 为什么word中的表格文字显示不全 在南宁注册新公司流程和资料 南宁注册公司需要什么材料 南宁市申报新版营业执照 南宁市行政审批大厅可以办理营业执照经营范围变更吗? 为什么PPT右边不显示自定义动画的具体内容了 怎么办蛋糕店营业执照 开蛋糕店营业执照如何办理? 蛋糕店的营业执照怎么办理? 微信里视频聊天的视频会自动保存吗?在哪里可以找到?