物语18 2021-10-14 12:34 采纳率: 71.4%
浏览 38
已结题

为什么我这里不管输入的月数是多少,天数都是31啊?求指导!


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int year,month,flag;
    do{
        printf("Input year,month:");
        scanf("%d %d",&year,&month);
    }while(month<1||month>12);
    switch(month){
        case4:
        case6:
        case9:
        case11:
            printf("%d年的%d月的天数为30\n",year,month);
            break;
        case2:
            if((year%4==0&&year%100!=0||year%400==0)){
                    flag=1;
                    printf("%d是闰年\n",year);
                    printf("%d年的%d月的天数为28+flag\n",year,month);
        }

        else{
            flag=0;
            printf("%d不是闰年\n",year);
            printf("%d年的%d月的天数为28+flag\n",year,month);
        }
        break;
        default:printf("%d年的%d月的天数为31\n",year,month);
    }

    return 0;
}

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2021-10-14 12:58
    关注

    case4: case 和 4 之间有空格的:case 4: 其他的同样

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日
  • 创建了问题 10月14日