c语言闰年的判断编程是怎么样的?

如题所述

判断语句

if(((0==year%4)&&(0!=year%100))||(0==year%400))

{//满足该条件的yeat就是闰年。}

以下是源程序代码:

#include<stdio。h>

intmain(void){

intyear;

printf("pleaseayear:");

scanf("%i",&year);

if((year%4==0&&year%100!=0)||year%400==0){printf("%iisaleapyear!",year);}else{printf("%iisnotaleapyear!",year);}

return0;}

给定年份的天数,自然就知道是不是闰年了。

比如说在单元格A1输入年份,公式就变成:

=IF(A1=1582,355,IF(A1<0,IF(MOD(A1,4)=3,366,365),IF(A1<1582,IF(MOD(A1,4)=0,366,365),365+IF(MOD(A1,4)=0,1,0)-IF(MOD(A1,400)=0,0,1)+IF(MOD(A1,100)=0,0,1))))

现实中一般碰到的年份,自然是无交集地晚于1582年的年份,这时给定年份的天数可以用这个公式:

=365+IF(MOD(单元格,4)=0,1,0)-IF(MOD(单元格,400)=0,0,1)+IF(MOD(单元格,100)=0,0,1)

以上内容参考:百度百科-闰年

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-05-20

#include<>

int main()

{

int year;

int i=0;

printf("请输入年份:");

scanf("%d",&year);

if(year%4==0 && year%100!=0)   //判断该年份是否为普通闰年 

{

i=1;

}else

{

if(year%400==0)   //判断该年份是否为世纪闰年

{

i=1;

}

}

if(i==1)

{

printf("%d年是闰年\n",year);

}else

{

printf("%d年不是闰年\n",year);

}

return 0;

公历闰年

地球绕日运行周期为365天5小时48分46秒(合365.24219天),即一回归年(tropical year)。公历的平年只有365日,比回归年短约0.2422 日,每四年累积约一天,把这一天加于2月末(即2月29日),使当年时间长度变为366日,这一年就为闰年。

需要注意的是,现在的公历是根据罗马人的""改编而得。由于当时没有了解到每年要多算出0.0078天的问题,从公元前46年,到16世纪,一共累计多出了10天。

为此,当时的教皇格雷果里十三世,将1582年10月5日人为规定为10月15日。并开始了新闰年规定。即规定公历年份是整百数的,必须是400的倍数才是闰年,不是400的倍数的就是平年。比如,1700年、1800年和1900年为平年,2000年为闰年。此后,平均每年长度为365.2425天,约4年出现1天的偏差。

按照每四年一个闰年计算,平均每年就要多算出0.0078天,经过四百年就会多出大约3天来,因此,每四百年中要减少三个闰年。闰年的计算,归结起来就是通常说的:四年一闰;百年不闰,四百年再闰。

由于地球的自转速度逐渐降低,而公转速度则相对更加稳定,所以上述的系统经过更长的周期也会发生微小的误差。据计算,每8000年会有一天的误差,所以英国的天文学家John Herschel提议公元4000为平年,以后类推12000年,20000年亦为平年。

但此提议从未被正式采纳。原因是到了4000年,的精确速度并非现在可以预测,所以届时参照真实数据方可做出判断。因此,在长远的将来,针对闰年的微小调整应该不是由预定的系统决定,而是随时不定性的。

本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网