主题:请各位帮帮忙,到现在都没有人告诉我答案,愁!
bingaicao
[专家分:0] 发布于 2011-04-23 00:47:00
我编写了以下的代码,[u][color=800000]可是到了运行窗口后,我输入了值,一按回车运行窗口就关了[/color][/u],我想知道为什么,怎么样可以让它不关闭,显示结果!这个代码是没有问题,我就是想知道我的电脑里是不是少了什么东西,不能显示结果。像8楼那样显示出It is the 114th day,拜托了[code=c]我用DEV-C++ 4.9.9.2编写
main()
{
int day,month,year,sum,leap;
printf("\nplease input year,mouth,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");break;
}
sum=sum+day;
if(year%400==0||(year%4==0&&year%100!=0))
leap=1;
else
leap=0;
if(leap==1&&month>2)
sum++;
printf("It is the %dth day.",sum);
getchar();
return 0;
}
[/code][em10]
最后更新于:2011-04-28 00:22:00
回复列表 (共12个回复)
沙发
海豚小默 [专家分:100] 发布于 2011-04-23 16:30:00
scanf("%d,%d,%d",&year,&month,&day); 中间的%d和%d之间不能用逗号,直接空格就是了。逗号是错误的。
scanf("%d %d %d",&year,&month,&day);
板凳
sclm1221 [专家分:0] 发布于 2011-04-23 18:09:00
1楼scanf中能用逗号,不过在你输入数据的时也要加上逗号,%d和%d之间不用空格和逗号也行,输入时有空格区别或回车一样,和这没关系
3 楼
sclm1221 [专家分:0] 发布于 2011-04-23 18:19:00
我试了下,这写的没问题,估计你没注意输入时加逗号
4 楼
wukaikailive [专家分:80] 发布于 2011-04-23 21:05:00
对,输入时要加逗好,你是看谭浩强的C程序设计?
5 楼
sclm1221 [专家分:0] 发布于 2011-04-23 21:18:00
我吗
6 楼
bingaicao [专家分:0] 发布于 2011-04-24 10:14:00
可是输入值后,一按回车不能显示结果!拜托了。
7 楼
sclm1221 [专家分:0] 发布于 2011-04-24 10:52:00
能显示结果,很正常啊
8 楼
sclm1221 [专家分:0] 发布于 2011-04-24 11:09:00
你把你输入的粘上来看下,main前有没有加int
我试的2011,4,24
显示的It is the 114th day.
9 楼
sclm1221 [专家分:0] 发布于 2011-04-24 11:16:00
我想我有点明白你说的了, scanf("%d,%d,%d%*c",&year,&month,&day);
如果你是指用写好后的EXE运行的话加个%*c就行了
10 楼
frykool [专家分:0] 发布于 2011-04-25 22:52:00
if(year%400==0||(year%4==0&&year%100!=0))
这句是控制闰年的吗?闰年不是只要满足四的倍数就好嘛? 不好意思 闰年理解错了
我来回复