7-91 輸出閏年 (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
判斷閏年,這個判斷是因為地球繞着太陽轉的時候不是剛好365天 而是多一點,為了平衡這個誤差 我們規定4年補一天,但是補一天又補太多了 還是不夠精密,就讓每一百年的那個不補,
400年一定要補,這樣才大概把天數補得夠精確,如果不補直接按365天 年年這樣算下來 過100年之后四季就該變化了。。。。就很麻煩了
輸出樣例2:
Invalid year!
#include<stdio.h>
int main()
{
int year;
int count=0;
scanf("%d",&year);
if(year<=2000||year>2100)
{
printf("Invalid year!\n");
return 0;
}
else
{
int i;
for(i=2001;i<=year;i++)
{
if(i%4==0&&i%100!=0||i%400==0) //判斷閏年
{
printf("%d\n",i);
count++;
}
}
}
if(count==0)
printf("None\n");
return 0;
}