日期類問題 日期差值 某年的第幾天

2021-09-10 17:29:56 字數 1837 閱讀 7333

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

紅字為出錯處。記住。

#include

#include

/*#判斷閏年!                !非常重要 

判斷某年是否是閏年的兩個規則:

1.能被400整除 

2.能被4整除 ,但是不能被100整除 

*/#define isyear(x) x%400==0||x%100!=0&&x%4==0? 1:0

//注意一維是13,特意避開0,1對應1月,00不能忘了

int dayofmonth[13][2]=

;using namespace std;

struct date}} 

} ;//從0年1月1日開始

//所以是13和32 

//大陣列定義在main外面防止堆疊溢位 

int result[5001][13][32];

int main()

int y1,m1,d1;

int y2,m2,d2;

//下面這種對輸入資料的處理 太猛。比cin不知道省了多少事

//cin cout太不靈活 只是傻瓜顯示 做演算法題一點不好用 

scanf("%4d%2d%2d",&y1,&m1,&d1);

scanf("%4d%2d%2d",&y2,&m2,&d2);

printf("%d\n",abs(result[y1][m1][d1]-result[y2][m2][d2])+1); 

//若要判斷乙個日期是該年第幾天 只需要稍微改動一下輸出形式 

//用該日期與日期座標原點距離 減去 該日期所在年的1月1日與座標原點的距離即可 

//printf("%d\n",abs(result[y1][m1][d1]-result[y1][1][1])+1);

return 0;

}

#include#include/*#判斷閏年!                !非常重要 

判斷某年是否是閏年的兩個規則:

1.能被400整除 

2.能被4整除 ,但是不能被100整除 

*/#define isyear(x) x%400==0||x%100!=0&&x%4==0? 1:0

//注意一維是13,特意避開0,1對應1月,00不能忘了

int dayofmonth[13][2]=

;using namespace std;

struct date}} 

} ;//從0年1月1日開始

//所以是13和32 

//大陣列定義在main外面防止堆疊溢位 

int result[5001][13][32];

int main()

int y1,m1,d1;

int y2,m2,d2;

//下面這種對輸入資料的處理 太猛。比cin不知道省了多少事

//cin cout太不靈活 只是傻瓜顯示 做演算法題一點不好用 

scanf("%4d%2d%2d",&y1,&m1,&d1);

scanf("%4d%2d%2d",&y2,&m2,&d2);

printf("%d\n",abs(result[y1][m1][d1]-result[y2][m2][d2])+1); 

//若要判斷乙個日期是該年第幾天 只需要稍微改動一下輸出形式 

//用該日期與日期座標原點距離 減去 該日期所在年的1月1日與座標原點的距離即可 

//printf("%d\n",abs(result[y1][m1][d1]-result[y1][1][1])+1);

return 0;

}

日期類 日期差值

題目描述 有兩個日期,求兩個日期之間的天數,如果 兩個日期是連續的我們規定他們之間的天數為兩天。輸入 有多組資料,每組資料有兩行,分別表示兩個日期,形式為yyyymmdd。輸出 每組資料輸出一行,即日期差值。樣例輸入 20110412 20110422 樣例輸出 日期類問題是常考的基本題型之一,需要...

日期類 日期差值

題目要求 有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數為兩天。分析 首先計算兩個日期距離0000年0月1日的天數,然後再求他們之間的差值。實現 如下 include include include using namespace std int mon 13 bool...

問題 A 日期差值

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