返回列表 回复 发帖

很简单的c语言练习求解?

很简单的c语言练习求解?
main()
{
int day,month,year,sum,leap;
printf("\nplease input year,month,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;
}
sum=sum+day;
if(month>12||day>31) printf("You are pig!";
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);}

运行2005,18,45
后会输出You are pig!,可是还是会输出多少天,如何解决,谢谢!

Re:很简单的c语言练习求解?

main()
{
int day,month,year,sum,leap;
printf("\nplease input year,month,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;
}
sum=sum+day;
if(month>12||day>31)  printf("You are pig!";
else {
       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);
      }
} /* to teminate the main bracket */

其实最好是重新回到输入点,如果用户输入非法数据的话。你自己去改吧!

Remind:此消息由Thermo在02-20 01:56:21做过手脚,呵呵……
习惯了无聊,不无聊时才知道无聊是多么的不无聊。

Re:很简单的c语言练习求解?

提示: 作者被禁止或删除 内容自动屏蔽
返回列表