上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"; }
运行程序,当输入不同的值对应的结果为: