一天一天的加,加到界限进位,日到月的进位需要二维数组,月份年份不同进位界限不同
#include<iostream>
using namespace std;
int month[30][2]={{0,0},{31,31},{28,29},{31,31},{30,30},{31,31},{30,30},{31,31},{31,31},{30,30},{31,31},{30,30},{31,31}};
bool isleap(int n){
return (n%4==0&&n%100!=0)||(n%400==0);
}
int main(){
int time1,time2,year1,year2,month1,month2,day1,day2,ans=0;
cin>>time1>>time2;
year1=time1/10000; //1999 1219
year2=time2/10000;
month1=(time1%10000)/100;
month2=(time2%10000)/100;
day1=time1%100;
day2=time2%100;
while(year1!=year2||month1!=month2||day1!=day2){
day2++;
if(day2==month[month2][isleap(year2)]+1){
month2++;
day2=1;
}
if(month2==13){
year2++;
month2=1;
}
ans++;
}
cout<<"日期间隔为:"<<ans<<endl;
return 0;
}