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)
以上内容参考:百度百科-闰年
2024-07-18 广告
#include<stdio.h>
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年,地球自转的精确速度并非现在可以预测,所以届时参照真实数据方可做出判断。因此,在长远的将来,针对闰年的微小调整应该不是由预定的系统决定,而是随时不定性的。