前言
21世纪指的是2001年到2100年即[2001,2100]!!我们在写该问题代码的时候,21世纪是哪年到哪年这个常识十分的重要。
一、题目要求
输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入格式:
输入在一行中给出21世纪的某个截止年份。
输出格式:
逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。
输入样例1:
2048
输出样例1:
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
输入样例2:
2000
输出样例2:
Invalid year!
二、代码
1.代码的实现
/*输出21世纪中截止某个年份以来的所有闰年年份。
注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。*/
#include<stdio.h>
int main()
{
int i=0;
int n;
int flag=0;
scanf("%d",&n);
if(n<=2000||n>2100){
printf("Invalid year!");
return 0;
}
for(i=2001;i<=n;i++)
if((i%4==0&&i%100!=0)||i%400==0){
printf("%d\n",i);
flag=1;
}
if(flag==0)
printf("None");
return 0;
}
2.读入数据
2048//输入2048
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
2000//输入2000由于2000不属于21世纪所以输出invalid year!
Invalid year!
2002//输入2002由于2001到2002年之间没有闰年所以输出None
None
总结
本题最重要的是常识的考察,21世纪指的是[2001,2100]!!请同学们记牢这个常识。