練習3-5 輸出閏年(15 分)
輸出21世紀中截止某個年份以來的所有閏年年份。注意:閏年的判別條件是該年年份能被4整除但不能被100整除、或者能被400整除。
輸入在一行中給出21世紀的某個截止年份。
逐行輸出滿足條件的所有閏年年份,即每個年份佔一行。輸入若非21世紀的年份則輸出"invalid year!"。若不存在任何閏年,則輸出「none」。
2048
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
2000
invalid year!
分析:21世紀指的是2023年~2023年這期間所有的年份。輸入截止年份,因為每一年都要判斷是否是閏年,所以考慮封裝成乙個函式:用來判斷閏年;然後再迴圈遍歷2001~2023年的所有年份,依次呼叫函式檢查是否是閏年即可。但是這裡有乙個易錯點:「none」的處理。一定是在限定範圍內沒有乙個是閏年才會輸出「none」。所以isleap初始化的位置很關鍵,一定是在for迴圈檢查年份之前。具體原因見**注釋。
注意:關於使用標誌位來判斷,之前的「判斷素數」和其他程式設計題都有使用過,一定要理解題目的差別,不能混淆,這裡可以再對比一下:「判斷素數」的題型。標誌位的位置是不一樣的。
**:
#define _crt_secure_no_warnings 1
#include#include#includebool leap_year(int year)
else }
int main()
} if (isleap == 0)
}else
system("pause");
return 0;
}
測試結果:如果是 isleap放在每次for迴圈中初始化,則:
PTA 練習3 5 輸出閏年
原題導航 題目描述 輸出21世紀中截止某個年份以來的所有閏年年份。注意 閏年的判別條件是該年年份能被4整除但不能被100整除 或者能被400整除。輸入格式 輸入在一行中給出21世紀的某個截止年份。輸出格式 逐行輸出滿足條件的所有閏年年份,即每個年份佔一行。輸入若非21世紀的年份則輸出 invalid...
練習3 5 輸出閏年 15分
輸出21世紀中截止某個年份以來的所有閏年年份。注意 閏年的判別條件是該年年份能被4整除但不能被100整除 或者能被400整除。輸入格式 輸入在一行中給出21世紀的某個截止年份。輸出格式 逐行輸出滿足條件的所有閏年年份,即每個年份佔一行。輸入若非21世紀的年份則輸出 invalid year 若不存在...
PTA 練習3 5 輸出閏年(c)
題目描述 輸出21世紀中截止某個年份以來的所有閏年年份。注意 閏年的判別條件是該年年份能被4整除但不能被100整除 或者能被400整除。輸入格式 輸入在一行中給出21世紀的某個截止年份。輸出格式 逐行輸出滿足條件的所有閏年年份,即每個年份佔一行。輸入若非21世紀的年份則輸出 invalid year...