控制结构(有动画)讲解.ppt
文本预览下载声明
9.3 控制结构9.4 常用算法 ;9.3 控 制 结 构;本单元教学目的;【引例】;程序段1:
cinabc;
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
cout三角形面积为:sendl;;未考虑公式的适用条件;程序段2:
{
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
cout三角形面积为:sendl;
};;形式:
作用:
当程序中某个位置在语法上只允许一条语句,
而在语义上要执行多条语句才能完成某个操作 时,需要使用复合语句。
;程序段3:
if(a+bca+cbb+ca)
{p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
cout三角形面积为:sendl;
}
;?进一步思考:
如何在输入错误数据时允许重新输入,以便能得到正确的结果?
;二、 选择结构 ;1、比较两数大小1
2、比较两数大小2
3 、成绩转换
4、分组体检
;if语句单分支形式示例;#include iostream.h
void main()
{
int x,y,t;
cout输入 x yendl;
cinxy;
if (xy)
{ t=x; x=y; y=t;}
coutxyendl;
};【例2】将任意输入的两个整数x,y中较大的数放 在max变量中,较小的数存于min变量中。;#include iostream.h
void main()
{
int x,y,max,min;
cout输入 x yendl;
cinxy;
if (xy)
else
coutmin=minendl;
coutmax=maxendl;
};;if语句多分支形式;if语句多分支形式示例;要点:;程序实现;if语句的嵌套形式;if语句的嵌套形式;程序实现;三 循环结构 ;1、累加和
2、猜数游戏
3、ASCII码对照表
4、求极大值
5、最大公约数
6、素数
7、穷举法;【例5】求1~99的奇数和,即s=1+3+5+ ……+99;实现 s=1+3+5+ ……+99
循环前准备:;又如“+=”、“-=”、“*=”、“/=”和“%=”等等都是复合赋值运算符,理解关键:
右端的表达式是一个整体
例如: ;#include iostream.h
void main( )
{
int i(1),s(0);
while(i100)
{
s=s+i;
i=i+2;
}
couts=sendl;
};do
语句
while (表达式);;【例6】猜数游戏。计算机随机产生一个0~100之间的整数,用户通过输入的方式来猜测此数,根据比较的结果屏幕上会给出“大了”或“小了”的提示,根据提示重新猜测,直到猜对提示“恭喜你!猜对了”;cinguess;
if(guessresult)
cout“too big”;
else if(guessresult)
cout“too small”;;#include iostream.h
#include stdlib.h
void main()
{
int guess,result;
cout产生随机数endl;
result=rand()%101;
do
{ cout输入猜测的数:endl;
cinguess;
if(guessresult)
couttoo big;
else if(guessresult)
couttoo small;
}while(guess!=result);
cout恭喜你,猜对了!endl;
};【例7】将可打印的ASCII码制成表格输出,使每个 字符与其编码值对应,每行打印7个字符。 ;程序实现;【例8】输入某班若干学生的成绩,求最高分。当 输入成绩为-1时表示输入结束。;程序实现;【例9】输入两自然数,利用辗转相除法求其最大公约数。;#include iostream.h
void main( )
{ int m, n, t, r;
do
{ cout请输入 m n endl;
cinmn;
}while(m=0||n=0);
if(mn)
{ t=m; m=n; n=t; }
while( (r=m % n) !=0)
{ m=n; n=r;}
cout最大
显示全部