c语言判断输入日期是当年的第几天

/*---------------------------------------------------------
输入年、月、日,输出该日期是该年的第几天
---------------------------------------------------------*/
#include <stdio.h>

int years(int year) /*判断闰年*/
{
if(year%4==0&&year%100!=0||year%400==0)
return 1;
else
return 0;
}

int months(int year,int month) /*判断每月天数*/
{
int day;
if(years(year)==1)
{
if(month==2)
day==29;
else if(month==4||month==6||month==9||month==11)
day==30;
else
day==31;
}
else
{
if(month==2)
day==28;
else if(month==4||month==6||month==9||month==11)
day==30;
else
day==31;
}
return day;
}

int days(int year,int month,int day) /*计算*/
{
int day_1=0,n; /*day_1为总天数,n为第几月*/
for(n=1;n<month;n++)
{
day_1=months(year,n)+day_1;
}
day_1=day_1+day;
return day_1;
}

void main()
{
int year,month,day,day_1;
scanf("%d %d %d",&year,&month,&day);
day_1=days(year,month,day);
printf("%d",day_1);
getch();
}

哪里错了呢?能运行但是不能正确输入。

判断每个月有几天的赋值号错了。。把day==29什么的改成day=29,其他没错,我运行好了
温馨提示:答案为网友推荐,仅供参考
相似回答