题目描述
输出21世纪(2001年至2100年)中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入
在一行中给出21世纪的某个截止年份。
输出
逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。
输入样例
2048
输出样例
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
AC代码
#include<stdio.h>
int main(){
int y,n,i;//y为年份
n=0;//判断是否不存在闰年
scanf("%d",&y);
if(y<2001||y>2100){//超过则提示错误,注意后台样例会有
printf("Invalid year!");
}else{
for(i=2001;i<=y;i++){
if(i%400==0){//400的倍数,这个判断条件要在下边的条件前边,否则不会通过,与下条件矛盾
n=n+1;
printf("%d\n",i);
}
else if(i%4==0&&i%100!=0){//4的倍数且不是100的倍数
n=n+1;
printf("%d\n",i);
}
}
if(n==0){//如果没有要输出None
printf("None");
}
}
return 0;
}
HINT
闰年的判断很重要,是后期很多很多实验题的判断条件,最好打包成函数形式重复调用,自己要理解掌握哦