C语言程序设计教学全套-5循环嵌套.pptx

C语言程序设计教学全套-5循环嵌套.pptx

ID:52848615

大小:1.49 MB

页数:9页

时间:2020-03-26

C语言程序设计教学全套-5循环嵌套.pptx_第1页
C语言程序设计教学全套-5循环嵌套.pptx_第2页
C语言程序设计教学全套-5循环嵌套.pptx_第3页
C语言程序设计教学全套-5循环嵌套.pptx_第4页
C语言程序设计教学全套-5循环嵌套.pptx_第5页
资源描述:

《C语言程序设计教学全套-5循环嵌套.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、循环嵌套主讲人:刘斌循环嵌套的概念在一个循环结构的循环体内又包含另一个完整的循环结构,称为循环的嵌套。把包含另一个循环结构的循环称为外循环,被包含的循环称为内循环。循环嵌套02for(表达式1;表达式2;表达式3){循环体}for(表达式1;表达式2;表达式3){循环体}【例5-4】百马百担问题有100匹马,驮100担货,大马驮三担,中马驮两担,两匹小马驮一担,问有大、中、小马各多少?共有多少种方案?循环嵌套03对所有数据进行验证确定条件循环嵌套04确定范围首先对该问题进行分析,分析结论如下:循环嵌套根据以上的分析结

2、论,可以得到下面的算法:05第一步:定义所需的变量,分别用dm、zm、xm表示大马、中马、小马的数量,sum为计数器,置初值为0,用来记录方案数,dm置为1。第二步:判断dm<=N是否成立,若成立,转向第三步,否则,转向第八步。第三步:zm置为1。第四步:判断zm<=M是否成立,若成立,转向第五步,否则,dm++,转向第二步。第五步:做操作xm=100-dm-zm确定小马的数量,判断条件xm%2==0&&dm*3+zm*2+xm/2==100是否成立,若成立,转向第六步,否则,转向第七步。第六步:输出dm,zm,xm

3、的数量,同时sum++。第七步:zm++,转向第四步。第八步:返回sum的值。循环嵌套算法的流程图和N-S图如图所示。06intdm,zm,xm,sum=0NNYYYNdm<=N返回sumdm=1zm=1zm<=Mzm++dm++输出xm,dm,zmxm%2==0&&dm*3+zm*2+xm/2==Hxm=H-dm-zmsum++N-S图流程图Ydm<=Ndm*3+zm*2+xm/2==Hintdm,zm,xm,sum=0dm=1返回sumzm<=Mxm=H-dm-zm&&xm%2==0输出xm,dm,zmsum++

4、zm++dm++Nzm=1循环嵌套程序代码:(1)#include"stdio.h"(2)#defineH100(3)#defineN29(4)#defineM46(5)intHorse(void)(6){(7)intdm,zm,xm,sum=0;(8)for(dm=1;dm<=N;dm++)(9){(10)for(zm=1;zm<=M;zm++)(11){(12)xm=H-dm-zm;//计算小马的数量07(13)if(xm%2==0&&dm*3+zm*2+xm/2==H)(14){//xm%2==0保证小马的数量

5、是偶数(15)printf("大马:%3dt中马:%3dt小马:%3d",dm,zm,xm);(16)sum++;(17}(18)}(19)}(20)returnsum;(21)}(22)intmain()(23){(24)intsum;(25)sum=Horse();(26)printf("共有%d种方案。",sum);(27)return0;(28)}本例采用的算法称之为穷举法,详见知识拓展5-1“穷举法”。课堂实践搬砖问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬一砖,要求一次全搬完,问男、女

6、、小孩各若干?共有多少种方案?循环嵌套0809再见

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。