C语言计算日期使该年的第几天
不能正常运行,请问是哪里出错了??
#include <stdio.h>
int main()
{
int year,month,day;
printf("请依次输入年/月/日:");
scanf("%d/%d/%d",year,month,day);
int fun(int a, int b, int c);
day=fun(year,month,day);
printf("该日期是该年的第%d天",day);
return 0;
}
int fun(int a, int b, int c)
{
int i,d=0;
for(i=0;i<b;i++)
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
d=d+31;
else if(i==2)
{
if ("a%4==0&&a%100==0||a%400==0")
d=d+29;
else
d=d+28;
}
else
d=d+30;
}
c=d+c;
return c;
}
#include <stdio.h>
int main()
{
int year,month,day;
printf("请依次输入年/月/日:");
scanf("%d/%d/%d",&year,&month,&day);
int fun(int a, int b, int c);
day=fun(year,month,day);
printf("该日期是该年的第%d天",day);
return 0;
}
int fun(int a, int b, int c)
{
int i,d=0;
for(i=0;i<b;i++)
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
d=d+31;
else if(i==2)
{
if ("a%4==0&&a%100==0||a%400==0")
d=d+29;
else
d=d+28;
}
else
d=d+30;
}
c=d+c;
return c;
}
是因为你的第七行格式化输入的时候忘记加&了,加上就没有问题了。
#include <stdio.h>
int main()
{
int year,month,day;
printf("请依次输入年/月/日:");
scanf("%d/%d/%d",&year,&month,&day);
int fun(int a, int b, int c);
day=fun(year,month,day);
printf("该日期是该年的第%d天",day);
return 0;
}
int fun(int a, int b, int c)
{
int i,d=0;
for(i=0;i<b;i++)
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
d=d+31;
else if(i==2)
{
if ("a%4==0&&a%100==0||a%400==0")
d=d+29;
else
d=d+28;
}
else
d=d+30;
}
c=d+c;
return c;
}
错误1.scanf未加&
错误2.i要从1开始
错误3.闰年判断条件中应该是不能被100整除用!=