**日期差值**
描述
 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天
输入描述:
 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD
输出描述:
 每组数据输出一行,即日期差值
示例1
 输入:
 20110412
 20110422
输出:
 11
思路:分别求与00000000的天数差,俩差值继续做差即可求出结果
#include<iostream>
#include<cstdlib>
using namespace std;
//求12个月份的累加和,1月和12月只需要计算天数即可 
int mon[12]={0,31,59,90,120,151,181,212,243,273,304,334};
int Add(int y,int m,int d)
{
	int num=y*365;
	//求包含的闰年数 
	for(int i=0;i<=y;i++)
	{
		if((i%4==0&&i%100!=0)||i%400==0) num++;
	}
	//可替换为int num=y*365+y/4-y/100+y/400;
	//求当前年的天数 
	num+=mon[m-1];
	//月超过2并且是闰年就加一天 
	if(m>2&&((y%4==0&&y%100!=0)||y%400==0)) num++;
	//加上当前月的天数 
	num+=d;
	return num;
}
int main()
{
	int y1,m1,d1,y2,m2,d2;
    scanf("%4d%2d%2d",&y1,&m1,&d1);//一定要格式输入,否则输入不对 
    int n1=Add(y1,m1,d1);
    scanf("%4d%2d%2d",&y2,&m2,&d2);
    int n2=Add(y2,m2,d2);
	cout<<abs(n1-n2)+1<<endl;//abs求绝对值的函数,cstdlib头文件 
	return 0;
}










