題目描述:
有兩個日期,求兩個日期之間的天數,如果 兩個日期是連續的我們規定他們之間的天數為兩天。
輸入:
有多組資料,每組資料有兩行,分別表示兩個日期,形式為yyyymmdd。
輸出:
每組資料輸出一行,即日期差值。
樣例輸入:
20110412
20110422
樣例輸出:
日期類問題是常考的基本題型之一,需要好好關注練習。
本題和**參考《機試指南》
求兩個日期差,或者計算某個特定的日期是那一年的第幾天,像這種計算天數差的問題都可以使用下面的解法。
基本的思路就是把給定的年月日日期統一對映為乙個起點確定的日期天數差,然後計算兩個日期天數差的話,直接相減即可。
體現在**上就是先預處理,然後再計算。
特別注意如何處理閏年。
#include #include #include #include using namespace std;
#define isyeap(x) x%100!=0 && x%4==0 || x%400==0?1:0
//定義巨集判斷是否是閏年,方便計算每月天數
int dayofmonth[13][2]=;
struct date
} }};int buf[5001][13][32];
void init()
}int main()
}
日期類 日期差值
題目要求 有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數為兩天。分析 首先計算兩個日期距離0000年0月1日的天數,然後再求他們之間的差值。實現 如下 include include include using namespace std int mon 13 bool...
日期類問題 例2 1日期差值
此類問題解題思路 定乙個錨點日期,如0年1月1日,先算出往後多少年內每一日子距離這個錨點的天數,例如要算兩個日期間天數時,便可以將兩個日期距離錨點日期之間的天數相減,即可得到。題目描述 有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數為兩天 輸入 有多組資料,每組資料有兩...
日期類問題 日期差值 某年的第幾天
有兩個日期,求兩個日期之間的天數,如果兩個日期是連續的我們規定他們之間的天數為兩天。紅字為出錯處。記住。include include 判斷閏年 非常重要 判斷某年是否是閏年的兩個規則 1.能被400整除 2.能被4整除 但是不能被100整除 define isyear x x 400 0 x 10...