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

百思不得其解,这是哪里的问题,求指教!

#include <stdio.h>
int main()
{
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day = 8;
    /*
     * 请使用switch语句,if...else语句完成本题
     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
     * 小编还是希望大家独立完成哦~
     */
    int a,b;
    switch(month)
    {
    case1:a=0;break;
    case2:a=31;break;
    case3:a=59;break;
    case4:a=90;break;
    case5:a=120;break;
    case6:a=151;break;
    case7:a=181;break;
    case8:a=212;break;
    case9:a=243;break;
    case10:a=273;break;
    case11:a=304;break;
    case12:a=334;break;
    default:printf("一年有12个月");break;
    }
     a=a+day;
    if((year%4==0&&year%100!==0)||year%400==0)
    b=1;
    else
    b=0;
    if(b==1&&month>2)
       a++;
    printf("%d年%d月%d日是该年的%d天",year,month,day,a);
         return 0;
}

提问者:qq_慕工程8050012 2020-05-29 10:49

个回答

  • 慕桂英5023831
    2020-07-03 14:37:02

     if((year%4==0&&year%100!==0)||year%400==0),i 不等号写错了,应为: if((year%4==0&&year%100!=0)||year%400==0)

  • 慕先生4860056
    2020-06-01 14:07:43

     if((year%4==0&&year%100!==0)||year%400==0) 中改成   year % 100 != 0 试试