回 帖 发 新 帖 刷新版面

主题:请各位帮帮忙,到现在都没有人告诉我答案,愁!

我编写了以下的代码,[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]

回复列表 (共12个回复)

沙发

scanf("%d,%d,%d",&year,&month,&day); 中间的%d和%d之间不能用逗号,直接空格就是了。逗号是错误的。
scanf("%d %d %d",&year,&month,&day);

板凳

1楼scanf中能用逗号,不过在你输入数据的时也要加上逗号,%d和%d之间不用空格和逗号也行,输入时有空格区别或回车一样,和这没关系

3 楼

我试了下,这写的没问题,估计你没注意输入时加逗号

4 楼

对,输入时要加逗好,你是看谭浩强的C程序设计?

5 楼

我吗

6 楼

可是输入值后,一按回车不能显示结果!拜托了。

7 楼

能显示结果,很正常啊

8 楼

你把你输入的粘上来看下,main前有没有加int
我试的2011,4,24
显示的It is the 114th day.

9 楼

我想我有点明白你说的了, scanf("%d,%d,%d%*c",&year,&month,&day);
如果你是指用写好后的EXE运行的话加个%*c就行了

10 楼

if(year%400==0||(year%4==0&&year%100!=0))
这句是控制闰年的吗?闰年不是只要满足四的倍数就好嘛?  不好意思 闰年理解错了

我来回复

您尚未登录,请登录后再回复。点此登录或注册