2、算法的基本控制结构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

为了用符号来表述不同的控制结构或者程序,人们设计 了流程图,简单的可以理解为示意图。 流程图常用符号:
准备
决策
数据输入输出
预定义过程
开始和结束
联系
准备
流线
1.选择结构
if (表达式) 语句1 else 语句2; 执行顺序:先计算表达式的值,若表达式为true,则执行 语句1,否则执行语句2。语句1和语句2也可以是用大括号括 起来的多条语句 流程图 true
算法的基本控制结构
顺序结构
基本结构
选择结构
循环结构
1.顺序结构:按照语句的先后顺序执行即为顺序结构, 是算法中最简单的一种结构。
2.选择结构:根据条件的不同,程序执行不同的语句, 即为选择结构。选择结构的语句有两种:if语句和switch语 句。
3.循环语句:根据约束条件的不同,多次重复执行某一 条或多条语句的结构,称为循环结构。循环结构的语句有for 语句、while语句、do…while语句三种语句。
输入一个整数a,判断是否为偶数。是的话输出“YES”否 则输出“NO”。 输入: 13 输出: NO 输入三角形的三边,判断它是否直角三角形,若是则输出 “yes”,否则输出“no”,若根本形成不了三解形则输出 “not a triangle”。 输入: 345 输出: yes
从键盘上读入三个数,按由大到小的顺序把它们打印出来。 输入: 13 12 14 输出: 14 13 12
#include <iostream> using namespace std; int main() { int x,y; cin>>x>>y; if (x>y) cout<<"x>y"<<endl; else if (x<y) cout<<"x<y"<<endl; else cout<<"x=y"<<endl; return 0; }
输入一个三位数的整数,将数字位置重新排列,组成一个尽 可大的三位数。 输入: 213 输出: 321
#include <iostream> using namespace std; int main() { char ch1,ch2,ch3,t; cin>>ch1>>ch2>>ch3; if (ch1<ch2) {t=ch1;ch1=ch2;ch2=t;} if (ch1<ch3) {t=ch1;ch1=ch3;ch3=t;} if (ch2<ch3) {t=ch2;ch2=ch3;ch3=t;} cout<<ch1<<ch2<<ch3<<endl; cin>>t; }
输入a,b两个整数,如果a<b的话,交换a,b的值,并输出a, b的值。 输入: 15 8 输出: 15 8 if (a<b) { c=a; a=b; b=c;
}
if语句的嵌套:多次的选择判断,需要在if语句内多次调用if语 句,称为if语句的嵌套
不同的嵌套形式: if (表达式1) if (表达式2) 语句1; else 语句2; else
表达式
false
语句1
语句2
火车托运行李,要根据行李的重量按不同标准收费。50kg 以内(含50kg),按每千克0.35元收费,超出50kg的部分按每 千克0.50元收费。现输入托运行李的重量,计算并输出运费。 Weight*0.35 weight<=50 Pay= 50*0.35+(weight-50)*0.5 weight>50
true Weight*0.35
weight<=50
false
50*0.35+(weight-50)*0.5
if weight<=50 pay=weight*0.35; else pay=50*0.35+(weight-50)*0.5; if weight<=50 pay=weight*50; else pay=pay+(weight-50)*0.5;
switch语句:根据同一表达式的多个不同的结果,分别进行不 同的选择,由switch语句来解决,避免if语句的反复嵌套。 switch (表达式) { case 常量1:语句1; case 常量2:语句2;

case 常量n:语句n; default:语句n+1; }
switch语句的执行顺序:首先计算switch语句中表达式的值, 然后在case语句中找值相等的常量,则以此为入口,开始顺 序执行,执行结束后必须加break。如果没有找到相等的值, 则从default开始执行。 •switch语句后面的表达式的值必须是整型、字符型、枚 举型之一。 •每个常量的值不能相同,但次序不影响执行结果。 •每个case分支可以有多条语句,但不必用{}。
•每个case分支要以break结束,用以结束switch语句。
•当有若干分支需要执行相同操作时,多个case可以用执 行相同的语句。
通过键盘输入0~6,转换成星期输出。
输入:0 输出:Sunday
通过键盘输入年份和月份,输出该月共有多少天。 输入:2011 11 输出:30
wenku.baidu.com
if (表达式3) 语句3;
else 语句4;
输入x,y两个整数,比较两个数字的大小,根据它们的大小,分 别输出:x>y,x<y,x=y。 输入: 89 输出:
x<y
#include <iostream> using namespace std; int main() { int x,y; cin>>x>>y; if (x!=y) if (x>y) cout<<"x>y"<<endl; else cout<<"x<y"<<endl; else cout<<"x=y"<<endl; return 0; }
相关文档
最新文档