浙大版《C语言程序设计(第3版)》题目集
练习3-5 输出闰年 (15分)
输出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!
代码实现:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int N,i,count=0;
scanf("%d",&N);
if(N<=2000||N>2100)
{
printf("Invalid year!");
}
else
{
for (i=2000; i<=N; i++)
{
if(i%4==0&&i%100!=0)
{
printf("%d\n",i);
count ++;
}
}
if(count==0)
{
printf("None");
}
}
return 0;
}
提交结果:
总结:
判断闰年的标准:
1、能整除4且不能整除100 。
2、能整除400。
即四年一闰,百年不闰,四百年再闰。 意思是:不是整百的年份只要被4整除的就是闰年,整百的年份必须得被400整除才是闰年。