各位大神,看看我的程序有什么不对

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

慕码人7586859

2018-08-15 17:09

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    month=month-1;

    int day = 8;

    int k;

       switch(month) 

       case 1: k=31;

       break;

       case 2: k=28+31;

       break;

       case 3: k=31+28+31;

       break;

       case 4: k=30+31+28+31;

       break;

       case 5: k=31+30+31+28+31;

       break;

       case 6: k=30+31+30+31+28+31;

       break;

       case 7: k=31+30+31+30+31+28+31;

       break;

       case 8: k=31+31+30+31+30+31+28+31;

       break;

       case 9: k=30+31+31+30+31+30+31+28+31;

       break;

       case 10: k=31+30+31+31+30+31+30+31+28+31;

       break;

        

      if(year%400==0)

      k=k+day+1;

      else

      k=k+day;

    

    printf("%d",k);

    return 0;

}


写回答 关注

3回答

  • Coat大王
    2018-08-16 11:33:52

    闰年的算法也不对。


  • 怠惰鱼
    2018-08-16 10:27:17
    1. swich()后面需要跟大括号,括住case部分

    2. 你没有考虑如果是一月二月闰年也不需要加一天

  • qq_相_0
    2018-08-16 10:25:10

    month=month-1;如果是month=1月,那么就是0哦,defaut;

    另外如果大于2月才要加上1天,如果小于2月,不需要加1的。

C语言入门

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

926020 学习 · 20793 问题

查看课程

相似问题