闰年的解释:凡阳历中有闰日(2月29日)的年份,闰余(岁余置闰。阴历每年与回归年相比所差的时日)。
1582年以来的置闰规则:
普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。
世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)。
1582年以前的惯例:四年一闰;如果公元A年的A(正数)能被4整除,那么它就是闰年;如果公元前B年的B(正数)除以4余1,那么它也是闰年。
#include <stdio.h>
int main()
{
int x = 0;
scanf("%d", &x);//输入年份
while (x % 100 == 0 )//当年份是整百年的情况
{
if (x % 400 == 0)//能被400整除
{
printf("leap year\n");
break;
}
else
{
printf("no leap year\n");
break;
}
printf("leap year\n");
}
while (x % 100 != 0)//当年份不是整百的情况
{
if (x % 4 == 0)//能被4整除
{
printf("leap year");
break;
}
else
{
printf("no leap year\n");
break;
}
}
return 0;
}
运行结果如下: