为什么这个要用嵌套循环,有点不是很懂
为什么这个要用嵌套循环,有点不是很懂
为什么这个要用嵌套循环,有点不是很懂
2017-04-26
一个循环语句的循环体内包含另一个完整的循环结构,称为循环的嵌套。这种嵌套的过程可以有很多重,一个循环的外面包围一层循环叫双重循环,如果一个循环的外面包围二层循环叫三重循环,…,一个循环的外面包围三层或三层以上的循环叫多重循环。这种嵌套在理论上来说可以是无限的。
正常情况下:应先执行内层的循环体操作,然后是外层循环。例如:对于双重循环,内层循环被执行的次数应为:内层次数×外层次数。
三种循环语句while、do…while、for可以互相嵌套,自由组合。外层循环体中可以包含一个或多个内层循环结构,但要注意的是,各循环必须完整包含,相互之间绝对不允许有交叉现象。因此每一层循环体都应该用{}括起来。
例: 求1至1000之间的所有完数(完数是指一个数恰好等于它的因子之和(除自身外),则称这个数为完数。)
main()
{
int a,j,m;
for (a=1;a<=1000;a++)
{
for (m=0,j=1;j<=a/2;j++)
if (!(a%j)) m=m+j;
if (m==a) printf("%4d\n",a);
}
}
程序执行结果:
6 28 496
举报