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

这在vs上运行成功了,但放网页编辑器上一直显示有错,为什么呢?

#include <stdio.h>
int main()
{
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day = 8;
    int sum, flag;
    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;
    }
    sum = sum + day;
    if (year % 400 == 0)
        flag = 1;
    else
        flag = 0;
    if (flag == 1 && month > 2)
        sum++;
    printf("%d年%d月%d日是该年的第%d天", year, month, day, sum);
    return 0;
}


提问者:dililili 2021-08-19 14:31

个回答

  • weixin_慕先生1335654
    2021-08-19 16:37:10
    已采纳

    闰年条件表达式那里有问题,建议改成:(year%400==0||(year%4==0&&year%100!=0))

  • 慕莱坞7197699
    2021-08-25 17:33:20

    闰年的条件是:

    ①能被4整除且不能被100整除;

    ②能被400整除;

  • 画风7132856
    2021-08-21 16:44:02

    闰年是4的倍数且不是100的倍数,可以改成(year / 4 == 0|| year % 100 != 0)