跳到主要内容

多分支

if-else if-else

举例:a代表身高,单位厘米,身高低于110的免票,110~150的半票,150以上的全票

  • 当使用普通的if进行判断时

    int a=120;
    if(a<110){
    cout<<"免票";
    }
    if(110<=a&&a<=150){
    cout<<"半票";
    }
    if(a>150){
    cout<<"全票";
    }
  • 当使用if-else if-else时

    int a=120;
    if(a<110){
    cout<<"免票";
    }else if(a<=150){
    cout<<"半票";
    }else{
    cout<<"全票";
    }

当身高<110时输出免票,否则如果身高<=150时半票,否则全票

  • else if 念做 否则如果 ,当之前的if判断为错时才会进行判断。
  • if-else if-else 的结构从上往下依次判断,成功时即执行相应的语句并退出这个判断。

容易犯的错误

顺序错误-倍数关系

int a=6;
if(a%2==0){
cout<<"2的倍数";
}else if(a%3==0){
cout<<"3的倍数";
}else if(a%2==0&&a%3==0){
cout<<"即是2的倍数又是3的倍数";
}else{
cout<<"不是2或3的倍数";
}

当a=6时,因为先判断2的倍数,所以导致输出2的倍数然后退出,不会判断a%2==0&&a%3==0
正确写法:

int a=6;
if(a%2==0&&a%3==0){
cout<<"即是2的倍数又是3的倍数";
}else if(a%3==0){
cout<<"3的倍数";
}else if(a%2==0){
cout<<"2的倍数";
}else{
cout<<"不是2或3的倍数";
}