请哪位大侠帮我看一个关于计算闰年的程序,为什么我输入1700,结果...

发布网友 发布时间:2024-10-15 12:42

我来回答

4个回答

热心网友 时间:2024-10-15 13:43

年数除以4,只要能除尽,就是闰年

热心网友 时间:2024-10-15 13:45

在第一个 if 中,year%4==0 这个条件,若输入 1700,则直接使得leap=1,程序不会再走else 了,发现没?
所以,闰年的判别,最好直接写成 楼上那位发表的
“if( ( (year%4 == 0)&&(year%100 != 0) ) || (year%400 == 0) ) ”

或者改成:
if ( year % 400 == 0)
{ leap = 1; }
else {
if ( year % 100 == 0)
leap = 0;
else
if ( year % 4 == 0)
leap = 1 ;
else leap = 0;
}
恩……应该是这样~不过还没没验证,要不你试试?

热心网友 时间:2024-10-15 13:49

平年是365天,二月为28天;闰年是366天,二月为29天.闰年的二月比平年的二月多一天.那么闰年多出的一天是从哪来的呢 这是教师应该了解的一个有趣的问题.我们知道一年是地球绕太阳旋转(也称公转)一周所需的时间,而地球绕太阳旋转一周实际的时间是365日5小时48分46秒.为了方便,我们把平年按365天计算,实际上就少算了5小时48分46秒,四年就相差了23小时15分4秒,也就是说4年就少算了近一天.所以每四年就规定了一个闰年,把这一天加在闰年的二月,以补上少算的时间,也称为"四年一闰".根据上面的叙述,每四年出现一个闰年时,时间并不是整整24小时,所以四年一闰又多算了44分56秒.按这样计算,每一百年就多算了18小时43分20秒,又将近一天.所以,到公元整百年时,这一年不算闰年,以抵消多算的时间,称为"百年不闰".按上面百年不闰的计算,每一百年又多出了5小时16分40秒,这样每四百年就多出了21小时6分40秒,差不多又是一天.所以,到公元年份是四百倍数时,这一年又是闰年,称为"四百年又闰".这就是"四年一闰,百年不闰,四百年又闰"的道理.按推2000年是闰年,2100年就不是闰年.同样道理,"四百年又闰"实际上又亏了2小时53分20秒,经过八个四百年(3200年),又要亏23小时6分40秒.因此,当公元年份是3200的倍数时,还要减去一闰(也就是说公元3200,00年,都不是闰年).这样,交叉地计算闰年,与公转的实际时间,误差就很微小了.

热心网友 时间:2024-10-15 13:50

if(((year%4 == 0)&&(year%100 != 0)) || (year%400 == 0)) 是闰年 否则不是

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com