#37708: C函式解


zongyan988@gmail.com (肥宅麵)

學校 : 不指定學校
編號 : 152080
來源 : [42.78.177.122]
最後登入時間 :
2024-09-20 10:50:29
a263. 日期差幾天 -- 板橋高中練習題 | From: [114.32.212.131] | 發表日期 : 2023-09-30 16:43

試了那麼多次終於過了(怎麼函式變數設錯這麼晚才發現,白白錯了好幾次==...

這個方法適合新手,新手可以參考一下,因為我也是新手

這題可以先分析出三種測資,分別是:

(1)兩筆測資同年

(2)兩筆測資差一年

(3)兩筆測資差兩年以上

所以我就把三種條件寫進主函式

if(year1-year2>=2)//年份相差2 up (需處理跨過的年)

{
}
else if(year1-year2==1) //年份相差1 (不需處理跨過的年)
{
}
else //同年 (處理月份即可)
{
}
 
 
要處理的東西我分成四大部分

(1)開頭年:這裡還可以分成開頭年還沒經過的月份測資給的當月

(2)結尾年:這裡還可以分成結尾年已經過的月份測資給的當月

(3)跨過的年

(4)判斷閏年

 

經過細分可以分成六個部分,我寫了五個函式來分別處理其中五個部分(測資給結尾年的當月直接加即可)

至於內容,我放在下面,有興趣可以看一下 (建議真的卡住再看)

https://gist.github.com/FantasticJZI/6f2dcd11e7cad90768e86156cb1ec51b

 
ZeroJudge Forum