判断闰年(输出2020~2500年闰年)
程序员文章站
2022-05-22 12:40:50
...
目录
- 判断某一年是否是 闰年
- 输出2020年~2500年全部闰年
- 闰年 与 平年
- 公历闰年 与 农历闰年
一、判断某一年是否是闰年(两种方法)
判断该年年份是闰年的条件:
- 能被4整除,但不能被100整除
- 能被400整除
第一种程序………………
#include<stdio.h>
int main()
{
int year,leap;
printf("enter year:"); //输入一个年份year
scanf("%d",&year);
if(year%4==0)
{
if(year%100==0)
{
if(year%400==0)
leap=1; //是400的倍数
else
leap=0; //是100的倍数,不是400的倍数
}
else
leap=1; //是4的倍数,但不是100的倍数
}
else
leap=0; //不是4的倍数
if(leap)
printf("%d is",year);
else
printf("%d is not",year);
printf(" a leap year.\n");
return 0;
}
执行结果………………
第二种程序2………………
#include<stdio.h>
int main()
{
int year,leap;
printf("输入一个年份year:");
scanf("%d",&year);
if((year%4==0 && year%100!=0) || (year%400==0))
leap=1;
else
leap=0;
if(leap)
printf("\n\t%d是闰年\n",year);
else
printf("\t%d不是闰年\n",year);
return 0;
}
执行结果………………
二、输出某范围全部闰年
程序………………
#include<stdio.h>
int main()
{
int year,i;
i=0;
printf("输出2020年~2500年的全部闰年:\n\n\t");
for(year=2020;year<=2500;year++)
{
if((year%4==0 && year%100!=0) || (year%400==0))
{
printf("%d ",year); //双引号内可换成 (%d\t)
i++;
if(i%10==0) //每行输出10个闰年换行
printf("\n\t"); //换行并横向空格
}
}
printf("\n"); //可不要,只是为了输出好看
return 0;
}
执行结果………………
三、关于闰年知识
公历可分:闰年和平年
平年:365天
闰年:366天(2月多一天)
闰年分为普通闰年和世纪闰年
普通闰年:公历年份是4的倍数的,且不是100的倍数(如2020年是闰年,2021年不是闰年)
世纪闰年:公历年份是400的倍数(如2000年是世纪闰年,2100年不是世纪闰年)
四、公历闰年 与 农历闰年
- 农历 = 阴历
- 公历 = 阳历
- 以太阳视运动为依据设置的历法,叫“太阳历”,简称“阳历”
- 以月亮的视运动规律为依据设置的历法,称为“太阴历”,简称“阴历”
- 农历 是中国传统历法,阴阳历的一种,又称夏历。
- 公历纪年源自于西方社会的纪年方法,以耶稣诞生之年作为纪年的开始
公历闰年
地球绕太阳运行周期为365天5小时48分46秒,每四年累积约一天,把这一天加于2月末(即2月29日)
平均每年长度为365.2425天,约4年出现1天的偏差。
按照每四年一个闰年计算,平均每年就要多算出0.0078天,经过四百年就会多出大约3天来,因此,每四百年中要减少三个闰年。
四年一闰,百年不闰,四百年再闰。
农历闰年
中国旧历 农历 作为阴阳历的一种,每月的天数依照月亏而定,一年的时间以12个月为基准,平年比一回归年(地球公转周期,围绕太阳转动)少约11天。为了合上地球围绕太阳运行周期即回归年,每隔2到4年,增加一个月,增加的这个月为闰月。
闰月加到哪个月,以农历历法规则推断,主要依照与农历的二十四节气来确定。在加有闰月的那一年有13个月,历年长度为383至385日,这一年也称为闰年。
农历闰年闰月的推算,3年一闰,5年二闰,19年七闰;
下一篇: 使用Python画作业调度甘特图