题目描述
问题描述:
请编写程序计算二个日期之间的天数,比如2013-1-2 和2013-1-3之间的天数是一天,2012-1-1到2012-12-31之间的天数是364天。
输入
输入二行,每行一个日期,包括年份,月份,日期共三个整数,每个整数之间用一个空格隔开。
测试数据保证第二行的日期比第一行的日期大。
输出
输出一个整数,表示2个日期之间的天数
样例输入
1900 1 1 1900 12 31
样例输出
364
#include<iostream>
using namespace std;
int main()
{
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int sum=0;
int y1,m1,d1,y2,m2,d2;
cin>>y1>>m1>>d1>>y2>>m2>>d2;
while(1)
{
if((y1%400==0)||(y1%4==0 && y1%100!=0))
a[2]=29;
else
a[2]=28;
d1++;
sum++;
if(d1>a[m1])
{
m1++;
d1=1;
}
if(m1>12)
{
m1=1;
y1++;
}
if(y1==y2 && m1==m2 && d1==d2)
break;
}
cout<<sum<<endl;
return 0;
}
在做题的时候最烦可能就是求日期的了,有木有,但是掌握了规律就发现超好做的了,方法还是那句,可能不是最优解,毕竟还是一种方法来的,看了算提供一下思路,增加多一点知识嘛