練習3 5 輸出閏年

2021-08-27 18:54:15 字數 1288 閱讀 7525

練習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...