本題來自NOC創(chuàng)新編程復(fù)賽基礎(chǔ)編程題中的第二題,這是一道數(shù)學(xué)編程題,閏年的判斷我們曾經(jīng)做過介紹。在已經(jīng)掌握相關(guān)知識的情況下,根據(jù)題目要求在有限的時(shí)間內(nèi)完成題目就是能力的體現(xiàn),這就需要我們多練習(xí)多刷題。
題目如下:
閏年是為了彌補(bǔ)因人為歷法規(guī)定造成的年度天數(shù)與地球?qū)嶋H公轉(zhuǎn)周期的時(shí)間差而設(shè)立的。沒有補(bǔ)上時(shí)間差的年份為平年。平年的2月只有28天,而閏年的2月有29天。那么如何判斷這一年是閏年還是平年呢?有這樣一個(gè)閏年的判斷方法:年份能被400整除,或者能被4整除但不能被100整除的都是閏年。
1.請根據(jù)上述的閏年判斷方法,編程判斷用戶輸入的年份是閏年還是平年。
2.根據(jù)用戶輸入的年份和月份,編程計(jì)算該月份有多少天。
閏年判斷的計(jì)算方法在題目中已經(jīng)給出,我們用如果…那么…否則的條件判斷就可以完成。如果你知道用“…除以…的余數(shù)”這個(gè)積木來判斷是否整除那么第一問就沒有什么難度了。注意三個(gè)判斷的邏輯關(guān)系。完成之后可以用2000年來做測試。
這道題的第二問是天數(shù)判斷,直接使用條件判斷而不用數(shù)學(xué)計(jì)算就行,不要把問題想得太難了。我們把月份分成三種情況,30天的小月包括4、6、9、11月,有31天的大月共7個(gè),以及特殊的2月。