- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
控制结构(有动画)讲解
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最大
文档评论(0)