求两个日期之间相差的天数

发布于 2022年 05月 19日 10:30

#include <iostream>
#include <iostream>
#include <algorithm>
using namespace std;
int flag(int elem)
{ int t;
if(elem%100==0)
{
if(elem%400==0)
{
t=366;
}
else
{
t=365;
}
}
else
{
if(elem%4==0)
{
t=366;
}
else
{
t=365;
}
}

return t;
}
int main()
{
int x,y,z;
int a,b,c;
cin>>x>>y>>z;
cin>>a>>b>>c;
int i;
int sum=0;
for(i=x+1;i<=a-1;i++)
{
sum+=flag(i);
}
int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(i=y+1;i<=12;i++)
{
sum+=month[i];
if(i==2&&flag(x)==366)
{
sum++;
}
}

for(i=1;i<=b-1;i++)
{
sum+=month[i];
if(i==2&&flag(a)==366)
{
sum++;
}
}

if(y==2)
{
if(flag(x)==366)
{
sum=sum+29-z;
}
else
{
sum=sum+28-z;
}
}
else
{
sum=sum+month[y]-z;
}

sum+=c;
cout<<sum;
}

推荐文章