为了账号安全,请及时绑定邮箱和手机立即绑定

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

#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 回答

闰年的算法也不对。


0 回复 有任何疑惑可以回复我~
  1. swich()后面需要跟大括号,括住case部分

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

0 回复 有任何疑惑可以回复我~

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

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信