分支结构

分支结构

【分支】结构(【条件】语句.【选择】语句):
如果...,就...,否则...。
看情况(看条件).执行下一步(具有选择性:二选一).

【如果】a是非负数.【就】输出a的开方.【否则】输出error.

 1 #include<iostream>
 2 #include<cmath>//sin cos......
 3 using namespace std;
 4 int main(){
 5   int a;
 6   cin>>a;
 7   if(a>=0){
 8      cout<<sqrt(a);
 9    }else{
10      cout<<"error\n";
11    }
12 
13   return 0;
14 }

命令:if如果 else否则

使用格式(先写框架):
if(条件){ 条件为真 就干什么; }else{ (条件为假)干什么; }
if(  ){

}else{

 

二选一 if( ){ }else{ }
多选一

if( ){ }
if( ){ }
if( ){ }

 例:输入一个数 输出他的绝对值18 04 15

绝对值:if(a>=0){cout<<a<<"\n";}else{cout<<-a<<"\n";}

 1 #include<iostream>
 2 using namespace std;
 3 int main(){
 4   int a;
 5   cin>>a;
 6   if(a>=0){
 7     cout<<a<<"\n";
 8   }else{
 9     cout<<-a<<"\n";
10   }
11 
12   return 0;
13 }

多选一 没有否则

例:输入某人的数学成绩//四种条件不交集
如果成绩大于等于90 输出优秀
如果成绩大于等于75 【并且】小于90 输出良好
如果成绩大于等于60 【并且】小于75 输出及格
如果成绩小于60 输出不及格

 1 #include<iostream>
 2 using namespace std;
 3 int main(){
 4   int a;
 5   cin>>a;
 6   if(a>=90){cout<<"优秀\n";}
 7   if(a>=75 && a<90){cout<<"良好\n";}
 8   if(a>=60 && a<75){cout<<"及格\n";}
 9   if(a<60){cout<<"不及格\n";}
10 
11   return 0;
12 }

例① 输入一个人的体重 如果体重大于等于180斤 就输出"超重"

如果体重大于等于110斤 小于180斤 就输出"正常"
如果体重小于110斤 就输出"营养不良"

数轴 &&并且(第二区间)

例② 出租车打车费用计算 起步价8元
如果不足5公里(含五公里) 收取起步价
如果超出5公里 超出部分1.6元/公里 
如果超出20公里 一口价100元
输入公里数 求收费多少

 1 #include<iostream>
 2 using namespace std; 
 3 int main(){
 4   int a;
 5   cin>>a;
 6   if(a<=5){cout<<8<<"\n";}
 7   if(a>5 && a<=20){cout<<8+(a-5)*1.6;<<"\n";}
 8   if(a>20){cout<<100<<"\n";}
 9   return 0;
10 }

 

数学计算符号+ - * / % ()
逻辑计算符号&&并且 与 || 或者 或 !not 非
!真=假
!假=真

 

真 && 真=真
真 && 假=假
假 && 真=假
假 && 假=假

 

真 || 真=真
真 || 假=真
假 || 真=真
假 || 假=假

 

关系运算符号==等于 !=不等于 > < >= <=

 

a=6;让a变量等于6 命令
a==6 逻辑代表式 结论只有 真 假(用来判断)

 

例. 表达式计算
输入3个数 第二个数用来表示运算符号
如果第二个数
为1 就表示+ 让第一个数和第三个数相加
为2 就表示- 让第一个数减去第三个数
为3 就表示* 让第一个数乘以第三个数
为4 就表示/ 让第一个数除以第三个数

 

做除法时 如果第三个数为0 就输出 error
例如 输入34 3 10 
输出340

 1 #include<iostream>
 2 using namespace std;
 3 int main(){
 4 
 5    int a,b,c;
 6    cin>>a>>b>>c;
 7    if(b==1){cout<<a+c<<"\n";}
 8    if(b==2){cout<<a-c<<"\n";}
 9    if(b==3){cout<<a*c<<"\n";}
10    if(b==4 && c!=0){cout<<a/c<<"\n";}
11    if(b==4 && c==0){cout<<"error\n";}
12   
13    return 0;
14 }

 

浮点分支

 1 #include<iostream>
 2 using namespace std;
 3 int main(){
 4 
 5   int x;
 6   float y;
 7   cin>>x;
 8 //==================================
 9   if(x<=5){y=8;}
10   if(x>5 && x<=20){y=8+(x-5)*1.6;}
11   if(x>20){y=100;}
12 //==================================
13   cout<<y<<"\n";
14   return 0;
15 }

 则,上述出租车问题中,还可这样做

 1 #include<iostream>
 2 using namespace std;
 3 int main(){
 4   int x;
 5   float y;
 6   cin>>x;
 7 //==================================
 8   if(x<=5){y=8;}
 9   if(x>5 && x<=20){y=8+(x-5)*1.6;}
10   if(x>20){y=100;}
11 //==================================
12   cout<<y<<"\n";
13  
14   return 0;
15 }

框架:18 04 15

 1 #include<iostream>
 2 #include<cstring>
 3 #include<string>
 4 #include<algorithm>数组排序
 5 #include<cstdlib>
 6 #include<cstdio>
 7 #include<cmath>开方
 8 using namespace std;
 9 int main(){
10   freopen("","",stdin); 
11   freopen("","",stdout);
12 
13   fclose(stdin);
14   fclose(stdout);
15 return 0;
16 }
posted @ 2020-10-14 10:46  Gzznnn  阅读(78)  评论(0编辑  收藏  举报