有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數為兩天。
紅字為出錯處。記住。
#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...