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

请问 这个哪个地方错了!谢谢回答。

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    /*

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

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

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

     */

    int sum;

    switch(month)

    {

    case 1:sum=day;break;

    case 2:sum=31+day;break;

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

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

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

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

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

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

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

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

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

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

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

    {

        sum+=1;

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

    }

    else

    {

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

    }

}

  return 0;

}


提问者:starfire1004 2016-04-30 11:43

个回答

  • 魔方de心
    2016-04-30 12:39:49
    已采纳

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

    此句中  year%100  没有判断值  应该是year%100==0

  • qq_隐匿_03229380
    2016-05-07 16:16:11

    应该是year%100!=0