刷題 Codeup 1928 日期差值

2021-10-09 22:02:51 字數 981 閱讀 9964

題目描述:輸入兩個日期,返回相差天數

input:

20130101

20130105

output:

5

首先假設第乙個日期比第二個日期小,若不是,則互換位置

if

(time1 > time2 )

處理平閏年

建立二維陣列,按照[月份][平/閏]的下標儲存

int month[13]

[2]=

,,,,

,,,,

,,,,

};

bool

isleap

(int year)

```2. 也可以使用雜湊表儲存

處理時間戳

將年月日按變數分開

y1 = time1 /

10000

, m1=time1%

10000

/100

,d1 = time1 %

100;

y2 = time2 /

10000

, m2=time2%

10000

/100

,d2 = time2 %

100;

迴圈遞增日期,若到達該月最大值,轉1,月+1

迴圈遞增月,若到達13,轉1,年+1

while

(y1 < y2 || m1 < m2 || d1< d2)

if(m1 ==13)

ans++

;}

總迴圈次數就是相差的天數

題目鏈結

加油!!!

codeup 1928 日期差值

思路 求日期相差天數的話,就讓少的那個一直加一天 加到多的那個天數為止。具體處理 天數d加了一天後超過當前月m應有的天數時,令月份m 1 別忘了置天數為1號。月份m變成13時,令年份y加1 同時設定月份m為1月。閏年和平年的二月份天數不一樣,所以要用二維陣列存一下每個月的天數 設定二維陣列int m...

codeup 1928 日期差值

時間限制 1 sec 記憶體限制 32 mb 獻花 1446 解決 395 獻花 花圈 tk題庫 有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數為兩天。有多組資料,每組資料有兩行,分別表示兩個日期,形式為yyyymmdd 每組資料輸出一行,即日期差值 20130101 ...

codeup 1928 日期差值

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