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

没出现运行结果,请大神帮我看看原因,谢谢

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    /*

     * 请使用switch语句,if...else语句完成本题

     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”

     * 小编还是希望大家独立完成哦~

     */

    int i;

    int number=0;

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

    {

        if(i%2!=0)

        number+=31;

        else

        {

          if(i=2)

          {

        

           switch((year%4==0)&&(year%100!=0))

             {

              case 1:number+=29;break;

              case 0:number+=28;break;

             }

          }

          else

          number+=30;

        }

        

    }

    number+=day;

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


return 0;

}



正在回答

2 回答

if(i==2) //‘=’是赋值‘==’才是判断

//第二个else应该删掉,第一个else意思是指if(i%2==0),只需要在执行语句中指出特殊的i==2即可

switch(year%4==0&&year%100!=0||year%400==0) //判断语句不全,**00的年份以400年为一个周期,不算的话会少一天

//事实上7、8月都是31天,如果简单的按奇偶月来算的话,应该会比正常的天数少一天,改进的方法为‘++’

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

慕UI7602567 提问者

非常感谢!
2016-05-28 回复 有任何疑惑可以回复我~

少判断一个year%400

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

举报

0/150
提交
取消

没出现运行结果,请大神帮我看看原因,谢谢

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