分支结构
分支结构
【分支】结构(【条件】语句.【选择】语句):
如果...,就...,否则...。
看情况(看条件).执行下一步(具有选择性:二选一).
【如果】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 }