问答详情
源自:4-17 switch与if语句的应用

请大佬看看哪有问题,谢谢

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int i

    /*

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

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

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

     */

    switch(month)

    {

        case 1:sum=day;break;

        case 2:sum=31+day;break;

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

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

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

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

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

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

        case 9:sum=31+29+31+30+31+30+31+31+30+day;break;

        case 10:sum=31+29+31+30+31+30+31+31+30+31+day;break;

        case 11:sum=31+29+31+30+31+30+31+31+30+31+30+day;break;

        case 12:sum=31+29+31+30+31+30+31+31+30+31+30+31+day;break;

        default:printf("no");

        

    }

    

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

        i=0;

        sum+=i;    

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

    else

        i=1;

        sum-=i;    

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

    

    









return 0;

}


提问者:Weston555 2019-11-22 16:02

个回答

  • 慕虎7451048
    2019-11-22 21:39:32
    已采纳

    到8月的时候也就是case8,比前面多加了一个月的天数;

    if-else至少用一个括号括起来

  • Weston555
    2019-11-23 13:48:14

    太简单了

  • 慕虎7451048
    2019-11-22 21:35:41

    没有定义sum