日期差值
描述
有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天
输入描述:
有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD
输出描述:
每组数据输出一行,即日期差值
要点注意输入的形式 要进行处理 直接用while循环相等的时候跳出 否则一直循环
#include <bits/stdc++.h>
using namespace std;
int main(){
int y1,m1,d1,y2,m2,d2;
int date1,date2;
scanf("%d",&date1);
scanf("%d",&date2);
y1=date1/10000;
m1=date1%10000/100;
d1=date1%100;
y2=date2/10000;
m2=date2%10000/100;
d2=date2%100;
int DayofMonth[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int totalday=1;
while(1){
if(y1==y2&&m1==m2&&d1==d2){
break;
}
if(y1%400==0||(y1%4==0&&y1%100!=0)){
DayofMonth[2]=29;
}else{
DayofMonth[2]=28;
}
d1++;
totalday++;
if(d1>DayofMonth[m1]){
d1=1;
m1++;
if(m1>12){
m1=1;
y1++;
}
}
}
printf("%d\n",totalday);
}