C++程序设计与案例分析
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.3.3 if-else if语句

当判断的条件在三个或者三个以上时,利用简单if语句或者if-else语句实现不了,那么可以利用if-else if语句来实现。

if-else if 语句的格式是:

                            if(表达式1) 语句1;
                            else if(表达式2) 语句2;
                            else if(表达式3) 语句3;
                            
                            else if(表达式n) 语句m
                            else语句m

功能:先计算表达式1,若表达式1为真,则执行语句1,如果表达式1不成立,则判断表达式2,若表达式2为真,则执行语句2,如果表达式2不成立,则判断表达式3……执行对应的语句部分。if-else if语句流程图如图3.4所示。

图3.4 if-else if语句流程图

【例3.11】输入学生成绩,输出相应的成绩和等级(90~100为A级,80~89为B级、70~79为C级、60~69为D级、0~59为E级)。

分析:首先提示用户输入成绩,当输入成绩不在合理范围(0≤x≤100)时,提示输入错误,程序结束。否则满足x≥90就是满足100≥x≥90,属于A级;若不满足x≥90,则x<90自然满足,只要x≥80就是满足90>x≥80,属于B级……x<60且x≥0(前面已判定),属于D级。本例实际上用嵌套if语句处理了6个分支的情况。

编写程序如下:

          #include <iostream>
          #include <cmath>
          using namespace std;
          void main()
          {float  x;
          printf ("please input x ( 0<=x<=100)\n");
          cin>>x;
          if (x>100||x<0)
          cout<<"x=data error!";
          else if (x>=90)
          cout<<x<<"is  A\n";
          else if (x>=80)
          cout<<x<<"  is  B\n";
          else if(x>=70)
          cout<<x<<"  is  C\n";
          else if (x>=60)
          cout<<x<<"  is  D\n";
          else
          cout<<x<<"  is  E\n";
          }

运行程序,当输入不同的值对应的结果为: