计算出任意二个时间之间的天数,不知道哪里出错了
程序代码:#include<stdio.h>
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int ye2(int n,int x,int y)
{
int i,sum=0;
if(x>=2)
{
if(n%4==0)
{
sum=sum+1;
for(i=x-1;i>0;i++)
{
sum=sum+a[i];
}
}else{
for(i=x-1;i>0;i--)
{
sum=sum+a[i];
}
}
sum=sum+y;
}
return sum;
}
int ye1(int n,int x,int y)
{
int i,sum;
if(x<=2)
{
if(n%4==0)
{
sum+=1;
for(i+1;i<13;i++)
{
sum+=a[i];
}
}else{
for(i=x+1;i<13;i++)
{
sum+=a[i];
}
}
sum=sum+y;
}
return sum;
}
int nian(int x,int y)
{
int i,sum=0;
for(i=x+1;i<y;i++)
{
if(i%4==0)
{
sum+=366;
}else{
sum+=365;
}
}
return sum;
}
int main()
{
int sum,n1,y1,r1,n2,y2,r2;
printf("请输入第一个日期(xxxx-xx-xx):");
scanf("%d-%d-%d",&n1,&y1,&r1);
printf("请输入第二个日期(xxxx-xx-xx):");
scanf("%d-%d-%d",&n2,&y2,&r2);
if(n1=n2)
{
sum=ye1(n1,y1,r1)+ye2(n2,y2,r2);
}else{
sum=nian(n1,n2)+ye1(n1,y1,r1)+ye2(n2,y2,r2);
}
printf("第一个日期到第二个日期一共%d天\n",sum);
return 0;
}









