内容正文:
第5章 循环结构程序设计
5.1while语句
5.2 do…while 语句
5.4 循环结构的嵌套
5.3 for语句
5.5 break语句和continue语句在循环结构的应用
大学C/C++语言程序设计程序设计 第5章 循环结构程序设计
5.4 循环结构的嵌套
循环嵌套介绍:
1.循环体语句可以是任意类型的语句,即也可以是循环语句。
2.在循环体语句中又包含另一个完整的循环结构的形式,称为循环结构的嵌套。
3. 嵌套在循环体内的循环体称为内循环,外面的循环体称为外循环。如果内循环中又有嵌套的循环语句,则构成多重循环。
大学C/C++语言程序设计程序设计 第5章 循环结构程序设计
循环的嵌套的一般形式:
三种循环可互相嵌套,层数不限
外层循环可包含两个以上内循环,但不能相互交叉
(4) for( ; ;)
{ ……
do
{ ……
}while();
……
for(; ;)
{……}
}
(1) while()
{ ……
while()
{ ……
}
…...
}
(2) do
{ ……
while( )
{ ……
}
…...
}while( );
(3) for(;;)
{ ……
do
{ ……
}while( );
…….
}
大学C/C++语言程序设计程序设计 第5章 循环结构程序设计
#include <stdio.h>
main()
{ int s,i,j=1;
s=0;
while(j<=10)
{
{ for (i=1; i<=100;i=i+1 )
s=s+i; }
j++;
}
printf("投币总数为:%d",s);
}
例1:将投币游戏重复做10次,求箱子里总币数。
大学C/C++语言程序设计程序设计 第5章 循环结构程序设计
例2:编写程序求100~1000之间素数的个数。
分析:在例5.2中已经知道判断一个数是否为素数用了一层循环,现在要求100~1000之间素数的个数,只需对100~1000之间的每一个整数都进行是否为素数的判断即可,这也是个循环的过程,因此需要二重循环来实现。
大学C/C++语言程序设计程序设计 第5章 循环结构程序设计
#include<stdio.h>
main( )
{ int m, i, k, count=0;
for(m=101; m<1000; m+=2)
{
i=2;
while(m%i!=0&&i<=m-1)
i++;
if(i= =m)
count++;
}
printf(“prime number is %d
", count);
}
内循环判断m是否为素数
外循环控制m的范围
大学C/C++语言程序设计程序设计 第5章 循环结构程序设计
例3(5.14) : 编写程序求解“百钱买百鸡”问题:《算经》一书中提出“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、母、雏各几何?
分析:设变量a, b分别代表鸡翁、鸡母的个数,则鸡雏的个数为100 - a - b。通过分析可知,a, b可能取值的范围为:a在0~19,b在0~33。则鸡翁、鸡母、鸡雏可能的组合有20×34 = 680种。对每一种组合都用是否符合百钱的条件进行测试,若符合,则该组合就是问题的一个解,因此解可能不唯一。
大学C/C++语言程序设计程序