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

麻烦各位大佬,帮忙看看,为啥这串代码在这跑出来和在线编译器的结果不一样呢

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int flag;

    int sum,i;

    /*

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

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

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

     */

     if(year % 4 == 0)

     {

         flag = 0;

     }

     else

     {

         flag = 1;

     }

     switch(flag)

     {

         case 0 :

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

         {

if(i%2!=0)

{

sum+=31;

}

else if(i==2)

{

sum+=29;

}

else

{

sum+=30;

}

 

         }

sum=sum+day;

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

         break;

         case 1 :

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

         {

if(i%2!=0)

{

sum+=31;

}

else if(i==2)

{

sum+=28;

}

else

{

sum+=30;

}

 

         }

sum=sum+day;

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

         break;

     }

    return 0;

    

}


正在回答

1 回答

swith的括号中不应该是flag而是month

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

举报

0/150
提交
取消

麻烦各位大佬,帮忙看看,为啥这串代码在这跑出来和在线编译器的结果不一样呢

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