求解决,不知道有什么地方有问题

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

蜗牛爬呀爬

2018-08-26 00:23

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum = 0;

    switch(month)

    {

        case 1:sum=31;break;

        case 2:

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

        {

            sum=28;

        }

        else

        {

            sum=29;

        }

        break;

        case 3:sum=31;break;

        case 4:sum=30;break;

        case 5:sum=31;break;

        case 6:sum=30;break;

        case 7:sum=31;break;

        case 8:sum=31;break;

        case 9:sum=30;break;

        case 10:sum=31;break;

        case 11:sum=30;break;

        case 12:sum=31;break;

    }

    sum+=day;

    if(month>=8)

    sum++;

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

    return 0;

}    


写回答 关注

1回答

  • 焉得谖草不在树背
    2018-08-26 11:33:45

    你后面的sum算的只是每个月份的天数,比如输入三月得到的数值是31,但这跟目标函数偏离了,

C语言入门

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

926023 学习 · 20793 问题

查看课程

相似问题