计算某日是该年的第几天

#include
int leap(int a)
{
if(a%4==0&&a%100!=0||a%400==0)
return 1;
else
return 0;
}
int number(int year,int m,int d)
{
int sum=0,i,j,k,a[12]=
{
31,28,31,30,31,30,31,31,30,31,30,31
};
int b[12]=
{
31,29,31,30,31,30,31,31,30,31,30,31
};
if(leap(year)==1)
for(i=0;i<m-1;i++)
sum+=b[i];
else
for(i=0;i<m-1;i++)
sum+=a[i];
sum+=d;
return sum;
}
void main()
{
int year,month,day,n;
printf("请输入年月日\n");
scanf("%d%d%d&year",&year,&month,&day);
n=number(year,month,day);
printf("第%d天\n",n);
}

--------------------Configuration: 1 - Win32 Debug--------------------
Linking...
计算某日是该年的第几天.obj : error LNK2005: "int __cdecl leap(int)" (?leap@@YAHH@Z) already defined in 1.obj
计算某日是该年的第几天.obj : error LNK2005: "int __cdecl number(int,int,int)" (?number@@YAHHHH@Z) already defined in 1.obj
计算某日是该年的第几天.obj : error LNK2005: _main already defined in 1.obj
Debug/1.exe : fatal error LNK1169: one or more multiply defined symbols found
执行 link.exe 时出错.

1.exe - 1 error(s), 0 warning(s)
试了好多次,字符错误应该是没有的,还是有一个错误……

要求:编写一个计算天数的程序,从键盘中输入年、月、日,在 屏幕中输出此日是该年的第几天
#include
int leap(int a)
{
if(a%4==0&&a%100!=0||a%400==0)//判断是否为润年
return 1;
else
return 0;

}
int num(int year,int month,int day)
{
int sum=......
答案就在这里:计算某日是该年的第几天
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

获取当前时间的毫秒数,获取当年元旦时间的毫秒数。两个相减 /(1000*60*60*24)

清理工程重新生成。
或者你是不是别的文件include了你这个文件

#include
int leap(int a)
{
if(a%4==0&&a%100!=0||a%400==0)
return 1;
else
return 0;
}
int number(int year,int m,int d)
{
int sum=0,i,j,k,a[12]=
{
31,28,31,30,31,30,31,31,30,31,30,31
};
int b[12]=
{
31,29,31,30,31,30,31,31,30,31,30,31
};
if(leap(year)==1)
for(i=0;i<m-1;i++)
sum+=b[i];
else
for(i=0;i<m-1;i++)
sum+=a[i];
sum+=d;
return sum;
}
int main(void)
{
int year,month,day,n;
printf("请输入年月日\n");
scanf("%d%d%d&year",&year,&month,&day);
n=number(year,month,day);
printf("第%d天\n",n);
}