codeup 1928 日期差值

2021-10-11 14:28:40 字數 1261 閱讀 3321

time limit : 1.000 sec memory limit : 32 mb

description
有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數為兩天。

input
有多組資料,每組資料有兩行,分別表示兩個日期,形式為yyyymmdd

output
每組資料輸出一行,即日期差值

sample input copy
20130101

20130105

sample output copy
雜想:這道題很有意思,牽涉到了幾個點:
日期的大小問題,必須要考慮第乙個日期大還是第二個日期大。

潤年的問題:閏年:1900不是閏年 2023年是閏年 也就是意味著能被4整除,又不能被100整除的,或者是能被400整除的都是閏年。

整數切分問題,要把******xx切分成***x年xx月xx日。

進製問題,乙個月滿了或者一年滿了,都要向前進一位,比如3月32要換算成4月1日。

把這幾個點注意好了,題目也就解決了。整個演算法都是看的演算法筆記裡面的,有個特別巧妙的地方就在於用bool 來對應下標(month陣列),特別簡潔。

ac**:

#include

using

namespace std;

int month[13]

[2]=

,,,,

,,,,

,,,,

};bool

isleap

(int year)

intmain()

y1 = time1/

10000

,m1=time1%

10000

/100

;d1=time1%

100;

y2 = time2/

10000

,m2=time2%

10000

/100

;d2=time2%

100;

int ans =1;

while

(y1if(m1==13)

ans++;}

printf

("%d\n"

,ans);}

return0;

}

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 確定...