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

新手找不到哪里错了,求大神指点

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum;

    switch(month)

    {

        case 1;sum=8;break;

        case 2;sum=31+8;break;

        case 3;sum=31+29+8;break;

        case 4;sum=31+29+31+8;break;

        case 5;sum=31+29+31+30+8;break;

        case 6;sum=31+29+31+30+31+8;break;

        case 7;sum=31+29+31+30+31+30+8;break;

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

        case 9;sum=31+29+31+30+31+30+31+31+8;break;

        case 10;sum=31+29+31+30+31+30+31+31+30+8;break;

        case 11;sum=31+29+31+30+31+30+31+31+30+31+8;break;

        case 12;sum=31+29+31+30+31+30+31+31+30+31+30+8;break;

    }

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

    {

        printf("是该年的第%d天",sum);

    }

    else

    {

        sum--;

        printf("是该年的第%d天",sum);

    }

    return 0;

}

            


提问者:慕用5271238 2020-11-23 19:24

个回答

  • 得木
    2020-11-24 18:42:02

    case后面接的是:     不是;(分号)

    同时你还要打default判断输入的月份大于12后会怎样

    还有你的sum--啥意思。。。。。

    还要再定义一个flag,因为有闰年之分。