求各位大佬帮我看一下这个C语言程序哪里错了,谢谢

#include<stdio.h>intmain(){intday,month,year,sum,leap,fin;printf("请输入年月日:");scanf("%l... #include<stdio.h>
int main()
{int day,month,year,sum,leap,fin;
printf("请输入年月日:");
scanf("%ld,%ld,%ld",&year,&month,&day);
if(month>0)
{
if(month==1)
sum=0;
else if(month==2)
sum=31;
else if(month==3)
sum=59;
else if(month==4)
sum=90;
else if(month==5)
sum=120;
else if(month==6)
sum=151;
else if(month==7)
sum=181;
else if(month==8)
sum=212;
else if(month==9)
sum=243;
else if(month==10)
sum=273;
else if(month==11)
sum=304;
else if(month==12)
sum=334;
else
printf("输入错误,请重新输入。");
}
else
printf("输入错误,请重新输入。");
fin=sum+day;
if(year%400==0||(year%4==0&&year%100!=0))
leap=1;
else
leap=0;
if(leap==1&&month>2)
fin++;
printf("这是%ld年的第%ld天。",year,fin);
return 0;
}
展开
 我来答
百度网友44b2127
2017-12-24 · TA获得超过855个赞
知道小有建树答主
回答量:630
采纳率:72%
帮助的人:232万
展开全部

其实没什么错,就是输入的时候scanf("%ld,%ld,%ld",&year,&month,&day);这里的格式字符串里面你加了逗号,输入的时候也加逗号才能正确读入(比如2000,3,1)

最好去掉格式字符串里的逗号,这样更符合平常的输入习惯(比如用空格或换行来间隔各输入数据)

改成scanf("%ld%ld%ld",&year,&month,&day);后程序运行正确

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式