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

哪里错了呢= =

#include <stdio.h>
int main() 
{ 
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day = 8;
    int sum = day;
    /*
     * 请使用swtich语句,if...else语句完成本题
     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
     * 小编还是希望大家独立完成哦~
     */
    switch(month-1)
    {
        case 11:
        sum+=30;
        case 10:
        sum+=31;
        case 9:
        sum+=30;
        case 8:
        sum+=31;
        case 7:
        sum+=31;
        case 6:
        sum+=30;
        case 5:
        sum+=31;
        case 4:
        sum+=30;
        case 3:
        sum+=31;
        case 2:
        sum+=28;
        case 1:
        sum+=31;
        break;
    }
    if(year%4==0||year%100==0&&year%400==0)sum++;

    printf("%d年%d月%d日这一天,是该年中的第%d天",year,month,day,sum);
    return 0;
}

输出也没有问题啊= =就是过不去

提问者:栗小铭 2015-07-12 14:33

个回答

  • 东风吹雪
    2015-07-12 16:09:13

    if(year%4==0||year%100==0&&year%400==0)sum++;这条语句有问题,你的意思是如果是闰年就加一天,可是如果月份等于2那样的话就不需要加一天了