运行后出来的是8天,小白不知道错在哪里。

来源:4-17 switch与if语句的应用

一颗糊萝卜

2017-03-16 17:19

#include <stdio.h>
int main() 
{ 
    int year = 2008;
    int month = 8;
    int day = 8;
    int sum;
    switch(month)
    {
        case1:sum=0;break;
        case3:
        if(year%400==0||(year%4==0&&year%400!=0))
        {
            sum+=29;
        }
        else
        {
            sum+=28;
        }
        break;
        case2:sum+=31;
        case4:sum+=30;
        case5:sum+=31;
        case6:sum+=30
        case7:sum+=31;
        case8:sum+=31;
        case9:sum+=30;
        case10:sum+=31;
        case11:sum+=30;
        case12:sum+=31;break;
    }
    sum=sum+day;
    printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);
 return 0;
 }


写回答 关注

2回答

  • phoche
    2017-03-16 19:10:34
    已采纳

    case 和常量表达式之间要有空格,你的没有,所以根本没有进到 switch 里

    一颗糊萝卜

    多谢!

    2017-03-28 15:51:01

    共 1 条回复 >

  • 无丨涯
    2017-03-17 09:18:33

    http://img.mukewang.com/58cb395c0001534704410542.jpg

    楼上正解

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926028 学习 · 20793 问题

查看课程

相似问题