Codeup 1928 日期差值

2021-10-25 15:08:06 字數 1465 閱讀 5591

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

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

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

樣例輸入:

20130101

20130105

樣例輸出:

5step 1,設立陣列存放不同性質年份的每個月份的天數;

step 2,編寫函式判斷某年份是否為閏年,是則返回1,不是則返回0,0表示的平年,1表示的閏年;

step 3,輸入兩個時間,比較兩個時間的大小,保證time1大於time2,否則交換。

step 4,對輸入的yyyymmdd格式日期進行分割,分別給出表示年份,月份和天數的變數y,m,d;

step 5,根據判斷閏平年的判斷增加年份數的同時增加日期差值直至time1-time2=1

step 6,在第乙個日期沒能達到第二個日期的時候(即,y1 < y2 || m1 < m2 || d1 < d2的時候)迴圈將第乙個日期不斷+1,期間注意月份和年份變化;

step 7,用變數sum(因為兩個日期是連續的我們規定他們之間的天數為兩天故ans初始值為1)統計迴圈次數即日期差值並列印輸出。

注意在step5中增加年份來增加日期差值時要注意月份,如果是閏年,月份為1或者2(不是2月29)時才增加366否則為365,2月29日時要增加365並將日期變為28

#include

using

namespace std;

bool

isleaf

(int year)

intmain()

int month[13]

[2]=

,,,,

,,,,

,,,,

};int year1,year2,month1,month2,day1,day2;

//取出年月日

year1=time1/

10000

; year2=time2/

10000

; month1=

(time1/

100)

%100

; month2=

(time2/

100)

%100

; day1=time1%

100;

day2=time2%

100;

//將time2的年份增加到time1-1的年份

while

(year1-year2>1)

else

sum=sum+1;

}}sum=sum+

365;

year2++;}

//逐一增加日期

while

(year2}else

sum++;}

cout

}

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