为什么结果会不对,看不出来啊

来源:4-17 switch与if语句的应用

19影像郭晓倩

2020-06-01 17:46

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum,flag;

 switch(month)

 {

     case1:sum=0;break;

     case2:sum=31;break;

     case3:sum=59;break;

     case4:sum=90;break;

     case5:sum=120;break;

     case6:sum=151;break;

     case7:sum=181;break;

     case8:sum=212;break;

     case9:sum=243;break;

     case10:sum=273;break;

     case11:sum=304;break;

     case12:sum=334;break;

 }

    sum+=day;

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

    flag=1;

    else

    flag=0;

    if(flag==1&&month>2)

    sum++;

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

    




return 0;

}


写回答 关注

2回答

  • wzciou
    2020-06-06 20:55:03
    已采纳

    case1:sum=0;break;

    case 1:sum=0;break;

    case后面要带一个空格

  • 慕盖茨0310757
    2020-06-02 11:55:54

     if(year%400==0||(year%4==0&&year%100!=0))这一行多括号了吧

    慕盖茨031...

    感觉是月份的问题,我自己试了试,月份出错时结果跟你的一样

    2020-06-02 12:09:17

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题