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

为什么会多出4天来?请教大神给我找找错吧!

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int i;

  int  sum=0;

  for(i=1;i<month;i++){   

   if(month==2){

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

   {

           sum+=29;

       }

       else

       {

           sum+=28;

       }

   }else 

   {

   if(month==4||month==6||month==9||month==11){

       sum+=30;

   }else{

       sum+=31;

   }   

   }

}sum+=day;

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

return 0;


正在回答

1 回答

一个明显的问题是sum没赋初值;

另外一个不合理的小问题是sum+=day尽量放到for循环体之前,你这里month=8的话这样写还没问题,如果month=1呢

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

qq_无言_9 提问者

非常感谢!
2015-07-03 回复 有任何疑惑可以回复我~
#2

qq_无言_9 提问者

还是不对啊
2015-07-03 回复 有任何疑惑可以回复我~
#3

深白 回复 qq_无言_9 提问者

循环体内判断用i
2015-07-03 回复 有任何疑惑可以回复我~
#4

qq_无言_9 提问者 回复 深白

谢谢,现下可以了
2015-07-04 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消
C语言入门
  • 参与学习       926210    人
  • 解答问题       20797    个

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

进入课程

为什么会多出4天来?请教大神给我找找错吧!

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