资源描述:
《《C语言循环结构》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、循环程序设计(2)1.break语句break语句和continue(1)语句形式:break;(2)作用:结束break所在的switch语句。结束当前循环,跳出break所在的循环结构。【例7:】求300以内能被17整除的最大的数。找到满足条件的最大数,结束循环#include"stdio.h"voidmain(){intx;for(x=300;x>=17;x--)if(x%17==0)break;printf("x=%d",x);}【例8】求300以内能被17整除的所有整数。#include"stdio.h"voidmain(){intx;for(x=1;x<=3
2、00;x++){if(x%17!=0)continue;printf("%dt",x);}}while(x<=300){if(x%17!=0){x++;continue;}printf("%dt",x);x++;}(1)语句形式:continue;(2)语句作用:结束本次循环。2、continue语句(3)语句执行流程:continue语句可以结束本次循环,即不再执行循环体中continue语句之后的语句,转入下一次循环条件的判断与执行。#include"stdio.h"voidmain(){inta,b;for(a=1,b=1;a<=10;a++){if(b>=10)
3、break;if(b%3==1){b+=3;continue;}}printf("%d",a);}【练习:】分析以下程序的运行结果。程序运行结果:4循环程序设计(循环嵌套)例7:打印如下所示等腰三角形()*************************循环程序设计(循环嵌套)*********************************************例8:如何打印:****************************************************************** *NEXT在循环体语句中又包含有
4、另一个完整的循环结构的形式,称为循环的嵌套。如果内部的循环体中又有嵌套的循环语句,则构成多重循环。while、do-while、for三种循环都可以互相嵌套。循环嵌套循环语句之间的关系for(....){...}for(...){...}并列循环for(...){...for(...){...}...}内循环外循环嵌套循环菱形图案程序如下:#include"stdio.h"voidmain(){inti,j,k;for(j=1;j<=5;j++)//上三角{for(k=1;k<=5-j;k++)printf("");for(i=1;i<=2*j-1;i++)printf("
5、*");printf("");}for(j=3;j>=0;j--)//下三角{for(k=1;k<=4-j;k++)printf("");for(i=1;i<=2*j+1;i++)printf("*");printf("");}}循环嵌套枚举或穷举算法:按问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解,若是,我们采纳这个解,否则抛弃它。对于所列举的值,既不能遗漏也不能重复。循环嵌套例9:百钱买百鸡。(鸡翁一值钱五,鸡母一值钱3,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?Cocks+hens+chicks
6、=100;5*cocks+3*hens+chicks/3=100;Cocks:1-------20;Hens:1--------33;Chicks:3,6,9….99;Cockshenschicks1198297…3366212…33979665…2012…33#include"stdio.h"voidmain(){intx,y,z;for(x=1;x<=20;x++){for(y=1;y<=33;y++){z=100-x-y;if(5*x+3*y+z/3==100)&&z%3==0)printf(“cock:%d,hens:%d,chicks:%d",x,y,z);}
7、}}循环嵌套例、搬砖问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬一块砖。要求一次全搬完,问男、女、小孩各若干?解:据题意:men的值:1—9women的值:1—12children的值:36-men-women循环程序设计使用枚举法,主要掌握两条原则:1、确定搜索范围。2、选择搜索策略。搜索策略选择得好坏,直接决定程序的工作量的大小。循环程序设计请思考下面程序的功能,并思考怎样改变搜索策略或搜索范围,可以提高程序的效率。main(){intm,n,I;m=7;n=5;i=1;do{if(i%m==0)