首页 > 电脑

代码静态测试输入年份year和月month,求该月有多少天

更新时间2018-10-22 01:04:34

#include <stdio.h>

main( )

{  int year,month,days;

   printf(“enter year and month:”);

   scanf(“%d%d”,&year,&month);

   {case1: case3: case5: case7: case8: case10: case12:

        days=31; break;         /*处理“大”月*/

case4: case6: case9: case11:

    days=30; break;        /*处理“小”月*/

case2:if(year%4==0&&year%100!=0&&year%400==0)

    days=29;              /*处理闰年平月*/

      else

    days=28;              /*处理闰年不是平月*/

    break;

default:print(input error! );   /*月份错误*/

    days=0;

   }

if(days!=0)

    printf(“%d,%d is %d days ”,year,month,days);

}

错在哪里啊

程序有太多的错(你根本没有细心的看过或你没有基础),以下改好的你比较下(后面有注释)

#include <stdio.h>
int main( ) //标准C的main必须有int返回
{
   int year,month,days;
   printf("enter year and month:");//中文的引号,程序是网上复制的?
   scanf("%d%d",&year,&month); //中文的引号
   switch(month) //少了 switch
       {
               //下面所有的case后面少空格
           case 1:
           case 3:
           case 5:
           case 7:
           case 8:
           case 10:
           case 12:
               days=31;
               break;         /*处理“大”月*/
           case 4:
           case 6:
           case 9:
           case 11:
               days=30;
               break;        /*处理“小”月*/
           case 2:
               if((year%4==0)&&(year%100!=0||year%400==0)) //判断有问题
                   days=29;              /*处理闰年平月*/
               else
                   days=28;              /*处理闰年不是平月*/
               break;
           default:
               printf("input error! ");   /*月份错误*/ //printf拼错且少引号
               days=0; //中文的分号
       }
   if(days!=0) //中文的()号
       printf("%d,%d is %d days ",year,month,days);//又是中文的引号
   return 0; //对应int main()
}


上一篇:创建一个类:Person,属性:name,sex,age

下一篇:vlookup时只显示公式,不显示结果