codeup 100000578 日期差值

2021-09-12 17:15:47 字數 726 閱讀 4929

原本思路: 大日期直接減小日期

正解: 從小日期累加到到大日期,輸出累加次數

不足: 原本思路需要複雜判斷,並且那些判斷規則自己都搞不清楚;正解中判斷規則單一,只要沒有累加到大日期就一直累加

心得:1、判斷規則是年月日分別比較,取或,為迴圈條件。為什麼不直接比較十進位制數呢,就比如(20130101與20121231)。因為在累加中只是對日加,而不是對time,這樣會造成死迴圈。除非每次迴圈都更新time的值,但是那樣還是要對日和月年分別處理,相當於又多了兩個判斷,不簡潔。

2、12個月份用陣列表示,因為有閏年所以使用了二維陣列。之前想嘗試只要閏年並且是2月就加1,但是不簡潔

3、出錯時,首先使用除錯,再用嘗試用特殊值。編寫時曾出現的錯誤:變數寫混(除錯發現),判斷閏年(不能被100整除且能被4整除。。。這裡寫成了400,經他人指出),相同天數按生活經驗寫成0(嘗試),黑盒測試重複使用的變數記得歸零哦

4、複雜兩差值計算:累加,進製規則用陣列

ac**:

#includeint isrun(int y)

int main()

,,,,,,,,,,,};

while(scanf("%d%d",&time1,&time2)!=eof)

if(m2>12)

}if(out)printf("%d\n",out+1);

else printf("%d\n",out);

}}

Codeup100000578問題 A 日期差值

有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數為兩天。有多組資料,每組資料有兩行,分別表示兩個日期,形式為yyyymmdd 每組資料輸出一行,即日期差值 20130101 201301055 include using namespace std int month 1...

codeup 裝箱問題

時間限制 1 sec 記憶體限制 128 mb 獻花 105 解決 44 獻花 花圈 tk題庫 問題描述 有乙個箱子的容量為v v為正整數,且滿足0 v 20000 同時有n件物品 0的體積值為正整數。要求從n件物品中,選取若干裝入箱內,使箱子的剩餘空間最小。輸入 1行整數,第1個數表示箱子的容量,...

codeup題目查詢

問題 d 查詢 時間限制 1 sec 記憶體限制 32 mb 提交 1032 解決 461 提交 狀態 討論版 命題人 外部匯入 題目描述 輸入陣列長度 n 輸入陣列 a 1 n 輸入查詢個數m 輸入查詢數字b 1 m 輸出 yes or no 查詢有則yes 否則no 輸入輸入有多組資料。每組輸入...