土木结构加固施工合同:闰年那里的问题~!!编程的~!!!

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/02 00:13:49
#include<stdio.h>
struct date
{
int year;
int month;
int day;
}d1;
int run(int );
void main()
{
int i=0;
printf("输入年月日\n");
scanf("%d%d%d",&d1.year,&d1.month,&d1.day);
if(d1.month==1||d1.month==3||d1.month==5||d1.month==7||d1.month==8||d1.month==10||d1.month==12)
{
if(d1.day<31)
d1.day+=1;
else
{
d1.month+=1;
d1.day=1;
}
}
else if(d1.month==2)
{
i=run(d1.year);
if(i=0)
{
if(d1.day<28)
d1.day+=1;
else
{
d1.month+=1;
d1.day=1;
}
}
else
{
if(d1.day<=28)
d1.day+=1;
else
{
d1.month+=1;
d1.day=1;
}
}
}
else
{
if(d1.day<30)
d1.day+=1;
else
{
d1.month+=1;
d1.day=1;
}
}
printf("明天是%d年%d月%d日\n",d1.year,d1.month,d1.day);
}
int run(int a)
{
if((a%4==0&&a%100!=0)||(a%400==0))
return 1;
else
return 0;
}
这个程序在闰年那里出了点问题输入的是闰年的2月28日正常加1天
不是闰年的2月28日也加1天

else if(d1.month==2)
{
i=run(d1.year);
if(i=0)
~~~~~这里
这里应该是if( i == 0 )
少了个等号