上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.3.2 if-else语句
简单if语句只指出条件为“真”(成立)时的判断,如果需要一个条件、两个结论,如何实现呢?if-else语句明确指出作为控制条件的表达式为“真”时做什么,为“假”时做什么。
If-else语句的形式:
if(表达式) 语句A; else 语句B;
功能:计算表达式的值,若表达式的值为“真”,执行语句A,并跳过语句B,继续执行if-else语句的下一条语句;若表达式的值为“假”,跳过语句A,执行语句B,然后继续执行if-else语句后的下一条语句。if-else语句流程图如图3.3所示。
图3.3 if-else语句流程图
【例3.10】 输入三角形三边长,求三角形面积和周长。
分析:该题目在顺序结构程序设计中已经编写过,其中三角形三边长原理是由用户口算来判断的,如果让机器自行根据情况来裁定,就需要选择结构程序设计(if-else语句)来实现。当符合三角形三边长原理条件为真时,则进行求解对应的面积和周长;当条件为假时,则需要重新输入三边长。
编程序如下:
#include <iostream> #include <cmath> using namespace std; void main() { float a,b,c,s,area,m; /* 用a,b,c来表示三角形的三边长,用area 表示面积,m表示周长*/ cout<<"input a,b,c"; cin>>a>>b>>c; if (a+b>c && b+c>a && a+c>b ) {s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); m=a+b+c; cout<<"area="<<area<<"m= "<<m<<endl; } else cout<<"Your input not meet the requirement, please reinput\n"; }
程序输出结果如下: