1、循环嵌套,1、while 语句 常称 为“当型”循环语句,2、do-while语句 常称 为“直到型”循环语句,for (表达式1;表达式2;表达式3)循环体,3、for 语句,语句执行过程 (1) 执行“控制变量初始化语句”,使控制变量获得一个初值。 (2) 判断控制变量是否满足“条件表达式”,若满足条件则执行一遍循环体,否则结束整个for语句,继续执行for循环下面的句子。 (3) 根据增量表达式,计算出控制变量所得到的新值 (4) 自动转到第(2)步。,break语句 一般形式: break; 功能: 跳出所在多分支switch语句 跳出所在的while、do-while、for循环语句
2、(提前结束循环)。,break语句和continue语句,continue语句 一般形式: continue; 功能: 提前结束本次循环体的执行,接着进行下一次循环条件的判别。,break语句和continue语句,例 :求1+2+3+4+5+100。,#include main() int i,sum=0;i=1;while(i=100) sum=sum+i;i+;printf(“%d“,sum); ,循环初值,循环终值,循环变量增值,回顾,求2324210之和,For循环,输入一个数,判断是否是质数,For循环,#include using namespace std; int main(
3、) int i,n,m,ans;cinnm;i=n;ans=0;while(i=m)ans+=i;i+;coutansendl;return 0; 输入:10 20 输出:_,165,程序阅读,10,嵌套 for 循环,如果一个for循环出现在另一个for循环中,则称它为嵌套循环,for(i = 1; imax1; i+) for(j = 0; j = max2; j+) ,请用循环嵌套打印: 10*10的“*”,1.尝试使用循环打印一排*2.加入循环嵌套:内层循环控制 打印一排*外层循环控制 打印一个换行符,把*改为j看j是如何变化的,请用循环嵌套打印: 正三角的“*”,加入循环嵌套:内层循
4、环控制 打印一排*(每排*数量增加1)外层循环控制 打印一个换行符,把*改为j看j是如何变化的,请用循环嵌套打印: 倒三角的“*”,加入循环嵌套:内层循环控制 打印一排*(每排*数量减少1)外层循环控制 打印一个换行符,把*改为j看j是如何变化的,请用循环嵌套打印: 右倒三角的“*”,加入两个内层循环(并列):一个内层循环输出空格(每层增加1)一个内层循环输出星号(每层减少1),把*改为j看j是如何变化的,请用循环嵌套打印: 右正三角的“*”,加入两个内层循环(并列):一个内层循环输出空格(每层减少1)一个内层循环输出星号(每层增加1),把*改为j看j是如何变化的,16,循环嵌套,输出九九表。
5、,* * * * * * * * *,循环嵌套,输出等腰三角形,提示: 行的控制 i:19*的个数j与当前行的关系:j=2*i-1*前面的空格k与行的关系:开始时,第一行有8个空格每多一行,少一个空格k=9-i,一个炊事员上街采购,用500元钱买了90只鸡,其中母鸡一只15元,公鸡一只10元,小鸡一只5元,正好把钱买完。问母鸡,公鸡,小鸡各买了多少只?【分析】设母鸡i只,公鸡j只,则小鸡为90-i-j只,则15*i+ 10* j+(90-i-j)*5=500,显然一个方程求两个未知数是不能直接求解。必须组合出所有可能的i,j值,看是否满足条件。这里i的值可以是0到33,j的值可以0到50。,2
6、0,课堂练习,百钱买百鸡:鸡翁1,钱值5; 鸡母1,钱值3;鸡 雏3,钱值1;何以百钱买百鸡?,有30个男人女人和小孩同在一家饭馆进餐,共花了五十先令,其中男宾3先令,女宾2先令,小孩1先令。试编程求出男人女人小孩各多少人?,#include using namespace std; const int c=2009; int main() int n,p,s,i,j,t;cin n p;s=0;t=1;for(i=1;i=n;i+)t=t*p%c;for(j=1;j=i;j+)s=(s+t)%c;cout s endl;return 0; 输入:11 2 输出:,782,程序阅读,思考题:选
7、人。一个小组共五人,分别为A、B、C、D、E。现有一项任务,要他们中的3个人去完成。已知:(1)A、C不能都去;(2)B、C不能都不去;(3)如果C去了,D、E就只能去一个,且必须去一个;(4)B、C、D不能都去;(5)如果B去了,D、E就不能都去。 编程找出此项任务该由哪三人去完成的所有组合。,逻辑推理题,一位法官在审理一起盗窃案时,对涉及到的四名嫌疑犯A、B、C、D进行了审问。四人分别供述如下: A:“罪犯在B、C、D三人之中。” B:“我没有作案,是C偷的。” C:“在A和D中间有一个是罪犯。” D:“B说的是事实” 经过充分的调查,证实四人中只有两人说了真话,并且罪犯只有一个。请确定真正的罪犯。,逻辑推理题,作业:完成OJ平台上1.5所有题目(共45题),http:/