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

break 在switch和if-else里怎么用 该不该用(算天数)

#include<stdio.h>
int main()
{
 int year=2008,month=8,day=8,date=day;
 switch(month)
 {
  case 12:
   date+=30;
   
  case 11:
   date+=31;
  
  case 10:
   date+=30;
  
  case 9:
   date+=31;

  case 8:
   date+=31;

  case 7:
   date+=30;

  case 6:
   date+=31;

  case 5:
   date+=30;

  case 4:
   date+=31;

  case 3: 
   if((year%4==0&&year%100!=0)||year%400==0)
   {
    date+=29;
   }else{
   date+=28;}
  
  case 2:
   date+=31;
  
  case 1:
   break;
 }
 printf("%d年%d月%d日是该年的第%d天\n",year,month,day,date);
 return 0;
}输出结果多一天;

#include<stdio.h>
int main()
{
 int year=2008,month=8,day=8,date=day;
 switch(month)
 {
  case 12:
   date+=30;
   break;
  case 11:
   date+=31;
   break;
  case 10:
   date+=30;
   break;
  case 9:
   date+=31;
   break;
  case 8:
   date+=31;
   break;
  case 7:
   date+=30;
   break;
  case 6:
   date+=31;
   break;
  case 5:
   date+=30;
   break;
  case 4:
   date+=31;
   break;
  case 3: 
   if((year%4==0&&year%100!=0)||year%400==0)
   {
    date+=29;
   }else{
   date+=28;}
   break;
  case 2:
   date+=31;
   break;
  case 1:
   break;
 }
 printf("%d年%d月%d日是该年的第%d天\n",year,month,day,date);
 return 0;
}卡在一月。

正在回答

2 回答

我验证了一下 ,我这个思路不能用break

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

#include <stdio.h>

int main() 

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum,num;

    switch(month-1){

        case 1:num=31;break;

        case 2:num=60;break;

        case 3:num=91;break;

        case 4:num=121;break;

        case 5:num=152;break;

        case 6:num=182;break;

        case 7:num=213;break;

        case 8:num=244;break;

        case 9:num=274;break;

        case 10:num=305;break;

        case 11:num=335;break;

        default:num=366;break;

    }

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

        num--;

    sum=num+day;

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

return 0;

}


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

慕数据8081167 提问者

break 在switch和if-else里怎么用 该不该用
2017-07-03 回复 有任何疑惑可以回复我~
#2

慕村9667831 回复 慕数据8081167 提问者

case 1:num=31;break; break必须用,不用它就执行下一个case了,直到遇到break结束。
2017-07-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

break 在switch和if-else里怎么用 该不该用(算天数)

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