A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zclove898 高级黑马   /  2011-12-3 00:18  /  2622 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 zclove898 于 2011-12-3 23:31 编辑

学过循环嵌套后,对循环嵌套一直就是迷迷糊糊的。在写程序的时候,如何去判断程序的哪个用部分外循环来写,而哪个部分又是用内循环来写。谢谢了

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

5 个回复

正序浏览
初步可以理解为 外部循环控制 行的数量  内部循环 控制行的内容
回复 使用道具 举报
看你需要怎么计算了,一个外循环需要执行全部的内循环,相当于外循环是控制整体执行次数,而内循环是控制‘实体’需要执行的次数。
回复 使用道具 举报
wsssx 2011-12-3 09:33:13
板凳
提示: 作者被禁止或删除 内容自动屏蔽
回复 使用道具 举报
不能这样说吧,得看具体的程序
我知道的要使用嵌套循环的情况有这几种:
当涉及到多行多列的形式时,会使用嵌套for循环。就像打印三角形、乘法口诀表、遍历二元数组等
还有就是排序部分,进行多趟比较会使用

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
这个没有一个确切的标准去判断,还是看你的解题思路,以初期比较典型的画三角这个练习来说,首先你要分析你要怎么样才能达到画出一个固定长宽高由“*”组成的三角图案呢,由于已知三角形的边长,所以要有一个for循环,每循环一次输出一个*号,这样就能画出一行*号了。这是最简单的由现实题目转换为计算机题目的思想,再深入下去,你要画出一个三角形必须下面输出的每一行*号都比上面一行要少一个或者两个,这样的话你不能写七八个for循环来输出一行行的*号吧。你可以想象一下,做一个for循环,每循环一次做的事情由输出一个*号变为输出一行*号不就行了么,这样就做成了一个最简单的嵌套循环。当然,只是这样还不够,这样循环画出来的就不是三角形而是长方形了。在深入考虑下去,既然已知三角形的边长,每一行输出固定个*号,那么结合for循环的特点将变量设置为初始等于三角形的边长,每循环一次变量减去一个,直到最后只输出一行一个*号不就是个三角形了。这样一个三角形就画完了。
说这么多试想告诉你别拘泥于想着什么情况下用单层循环,什么情况下用嵌套循环,只要你把遇到的问题慢慢转换成计算机式的解决方法,自然会想到用什么循环方法解决问题了。
如果要联系嵌套循环,再给你一个练习题,就是自己构建一个整数数组,然后试着自己给这个数组进行排序,你会发现你需要用到嵌套循环的,就像我上面那样分析思路

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马