哪里错了??为什么

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

swing997

2015-09-15 13:25

#include <stdio.h>

int main() 

    /* 定义需要计算的日期 */

    int year = 2008;

    int month = 8;

    int day = 8;

    /*

     * 请使用swtich语句,if...else语句完成本题

     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”

     * 小编还是希望大家独立完成哦~

     */

    int sum;

    switch(month)

    {

    case0:sum=0;break;

    case1:sum=31;break;

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

    {

        day=29;

        sum=day+31;

        else 

        day=28;

        sum=day+31;

    };break;

    case3:sum=31+31+day;break;

    case4:sum=31+31+30+day;break;

    case5:sum=31+31+31+30+day;break;

    case6:sum=31+31+31+30+30+day;break;

    case7:sum=31+31+31+31+30+30+day;break;

    case8:sum=31+31+31+31+30+30+8+day;break;

    defult:printf("今年有365天。");

    }

printf("%d年%d月%d天是该年的第%d天",year,month,day,sum);

return 0;

}


写回答 关注

3回答

  • sixGod
    2015-09-15 14:12:19
    已采纳

    1、if...else是分开用的,你直接把else放在if块中了,并且少了{}

    2、default少了一个a

    3、有好几处标点符号用成了中文标点

    4、case和值之间要加个空格

    swing9...

    非常感谢!

    2015-09-15 14:44:38

    共 1 条回复 >

  • xunluzhe
    2015-10-07 23:08:20

    你这是错的运行出来是200天,月份为八,会直接跳到case8向下执行,你前面写的二月份的判断会直接跳过。应该像老师一样把二月份的判断写在外面。

  • sixGod
    2015-09-15 14:12:56

    #include <stdio.h>

    int main() 

        /* 定义需要计算的日期 */

        int year = 2008;

        int month = 8;

        int day = 8;

        /*

         * 请使用swtich语句,if...else语句完成本题

         * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”

         * 小编还是希望大家独立完成哦~

         */

        int sum;

        switch(month)

        {

        case 0:sum=0;break;

        case 1:sum=31;break;

        case 2:if((year%4==0&&year%100!=0)||(year%400==0))

        {

            day=29;

            sum=day+31;

           

        }else{

            day=28;

            sum=day+31;

        }break;

        case 3:sum=31+31+day;break;

        case 4:sum=31+31+30+day;break;

        case 5:sum=31+31+31+30+day;break;

        case 6:sum=31+31+31+30+30+day;break;

        case 7:sum=31+31+31+31+30+30+day;break;

        case 8:sum=31+31+31+31+30+30+8+day;break;

        default:printf("今年有365天。");

        }

    printf("%d年%d月%d天是该年的第%d天",year,month,day,sum);

    return 0;

    }



C语言入门

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

928352 学习 · 21550 问题

查看课程

相似问题