黑马程序员技术交流社区

标题: 关于循环嵌套的问题 [打印本页]

作者: zclove898    时间: 2011-12-3 00:18
标题: 关于循环嵌套的问题
本帖最后由 zclove898 于 2011-12-3 23:31 编辑

学过循环嵌套后,对循环嵌套一直就是迷迷糊糊的。在写程序的时候,如何去判断程序的哪个用部分外循环来写,而哪个部分又是用内循环来写。谢谢了
作者: 常登凯    时间: 2011-12-3 00:48
这个没有一个确切的标准去判断,还是看你的解题思路,以初期比较典型的画三角这个练习来说,首先你要分析你要怎么样才能达到画出一个固定长宽高由“*”组成的三角图案呢,由于已知三角形的边长,所以要有一个for循环,每循环一次输出一个*号,这样就能画出一行*号了。这是最简单的由现实题目转换为计算机题目的思想,再深入下去,你要画出一个三角形必须下面输出的每一行*号都比上面一行要少一个或者两个,这样的话你不能写七八个for循环来输出一行行的*号吧。你可以想象一下,做一个for循环,每循环一次做的事情由输出一个*号变为输出一行*号不就行了么,这样就做成了一个最简单的嵌套循环。当然,只是这样还不够,这样循环画出来的就不是三角形而是长方形了。在深入考虑下去,既然已知三角形的边长,每一行输出固定个*号,那么结合for循环的特点将变量设置为初始等于三角形的边长,每循环一次变量减去一个,直到最后只输出一行一个*号不就是个三角形了。这样一个三角形就画完了。
说这么多试想告诉你别拘泥于想着什么情况下用单层循环,什么情况下用嵌套循环,只要你把遇到的问题慢慢转换成计算机式的解决方法,自然会想到用什么循环方法解决问题了。
如果要联系嵌套循环,再给你一个练习题,就是自己构建一个整数数组,然后试着自己给这个数组进行排序,你会发现你需要用到嵌套循环的,就像我上面那样分析思路
作者: 赵燕燕    时间: 2011-12-3 01:20
不能这样说吧,得看具体的程序
我知道的要使用嵌套循环的情况有这几种:
当涉及到多行多列的形式时,会使用嵌套for循环。就像打印三角形、乘法口诀表、遍历二元数组等
还有就是排序部分,进行多趟比较会使用
作者: wsssx    时间: 2011-12-3 09:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: 应国炎    时间: 2011-12-3 14:22
看你需要怎么计算了,一个外循环需要执行全部的内循环,相当于外循环是控制整体执行次数,而内循环是控制‘实体’需要执行的次数。
作者: 杨强    时间: 2011-12-3 15:16
初步可以理解为 外部循环控制 行的数量  内部循环 控制行的内容




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2