main()
{
int year,month,day,days;
printf("\ninput data(year,mouth,day):");
scanf("%d,%d,%d",&year,&month,&day);
if(month<=12)
{
days=sum_day(month,day);
if(leap(year)&& month>=3)
days=days+1;
printf("is the %dth day in this year.\n",days);
}
else
printf("\n error");
}
int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int sum_day(int month,int day)
{
int i;
for(i=1;i<month;i++)
day=day+day_tab[i];
return(day);
}
int leap(int year)
{
int leap;
leap=year%4==0 && year%100!=0||year%400==0;
return(leap);
}
这个代码是给出年月日,计算该日是该年的第几天。我想加入一个判断输入的月份是否超过12的语句,也就是这段:
if(month<=12)
{
days=sum_day(month,day);
if(leap(year)&& month>=3)
days=days+1;
printf("is the %dth day in this year.\n",days);
}
else
printf("\n error");
}
但是运行结果确出了问题,无论输入什么出来的都是“error”请问问题出在哪里?我该怎么改?
另,我想加入一个判断语句,判断如果month>12的话,就提示重新输入,怎么写这段代码?谢谢
{
int year,month,day,days;
printf("\ninput data(year,mouth,day):");
scanf("%d,%d,%d",&year,&month,&day);
if(month<=12)
{
days=sum_day(month,day);
if(leap(year)&& month>=3)
days=days+1;
printf("is the %dth day in this year.\n",days);
}
else
printf("\n error");
}
int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int sum_day(int month,int day)
{
int i;
for(i=1;i<month;i++)
day=day+day_tab[i];
return(day);
}
int leap(int year)
{
int leap;
leap=year%4==0 && year%100!=0||year%400==0;
return(leap);
}
这个代码是给出年月日,计算该日是该年的第几天。我想加入一个判断输入的月份是否超过12的语句,也就是这段:
if(month<=12)
{
days=sum_day(month,day);
if(leap(year)&& month>=3)
days=days+1;
printf("is the %dth day in this year.\n",days);
}
else
printf("\n error");
}
但是运行结果确出了问题,无论输入什么出来的都是“error”请问问题出在哪里?我该怎么改?
另,我想加入一个判断语句,判断如果month>12的话,就提示重新输入,怎么写这段代码?谢谢