【题目】
判定2000-2500年中的闰年。若是闰年,输出“XXXX年是闰年”;
若不是闰年,输出“XXXX年是非闰年”。
(1)四年一闰百年不闰:
即如果year能够被4整除,但是不能被100整除,则year是闰年。
(2)每四百年再一闰:
如果year能够被400整除,则year是闰年。
【数学解决】
成为闰年的条件:
被4整除且不被100整除。
被4整除且被100整除。
至于为什么是这样,引用百度的一个解释
可以被4整除的年份不一定是闰年。
例如1900年,1900能被4整除,1900÷4=475,可是1900年不是闰年,1900年是一个平年。
公历闰年计算的计算方法:
①、普通年能被4整除且不能被100整除的为闰年。(如2004年就是闰年,1900年不是闰年)
②、世纪年能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)
③、对于数值很大的年份,这年如果能整除3200,并且能整除172800则是闰年。
【代码实现】
#include<stdio.h>
int main() {
int year; printf("请输入2000-2500年中的某一年\n");
scanf("%d", &year);
if ((year % 4 == 0 && year % 4 != 0) || year % 400 == 0)printf("%d是闰年\n", year);
else printf("%d不是闰年\n", year);
return 0;
}
【运行结果】
请输入2000-2500年中的某一年
2001
2001不是闰年