问答详情
源自: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 = 0; break;
        case 2: sum = 31; break;
        case 3: sum = 59; break;
        case 4: sum = 90; break;
        case 5: sum = 120; break;
        case 6: sum = 151; break;
        case 7: sum = 181; break;
        case 8: sum = 212; break;
        case 9: sum = 243; break;
        case 10: sum = 273; break;
        case 11: sum = 304; break;
        case 12: sum = 334; break;
    }
    if([year % 400 = 0|| !(year % 4 == 0) && year % 100 != 0] && month > 2)
    {
        sum += day + 1;
        printf("%d年%d月%d日是该年的第%d天",year, month, day, sum);
    }
    else
    {
        sum += day;
        printf("%d年%d月%d日是该年的第%d天",year, month, day, sum);
    }
   
 return 0;
}

提问者:Ibuki_suga 2018-10-15 13:29

个回答

  • 天晴了0712
    2018-10-15 14:27:40
    已采纳

    if语句中   应该是   year%400==0