二重循环解题思路

二重循环解题思路

ID:12299624

大小:82.24 KB

页数:7页

时间:2018-07-16

二重循环解题思路_第1页
二重循环解题思路_第2页
二重循环解题思路_第3页
二重循环解题思路_第4页
二重循环解题思路_第5页
资源描述:

《二重循环解题思路》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、http://xueyuan.lanqiao.org二重循环习题的思路蓝桥软件学院-艳群本文通过一道习题,讲解做二重循环习题的思路:题目:使用二重循环打印如下图形:分析:首先要明确我们需要打印的种类有:字符串”*”,字符串””(空格)。比如第一行,先打印了4个空格””,然后打印了一个”*”。我们分析一下每行的具体打印情况:第0行:先打印4个空格,然后打印1个”*”第1行:先打印3个空格,然后打印3个”*”第2行:先打印2个空格,然后打印5个”*”第3行:先打印1个空格,然后打印7个”*”第4行:先打印0个空格,然后打印9个”*”通过上面分析,我们不难发现,”第0行”,”第1行”

2、…”第4行”这些行数在重复,所以我们可以用外层循环控制行数(即打印第几行)。在每行的内部,”打印n个空格”又是一个重复的过程,所以可以用内层循环来控制打印空格的个数。同理,在每行的内部,”打印n个*”也是一个重复的过程,所以可以用内层循环来控制打印”*”的个数。即:用外层循环控制打印的行数,用两个内层循环分别控制打印空格的个数和打印”*”的个数。还要注意,在把每行的空格和”*”打印完后,还需要换行。即可得伪代码:publicstaticvoidmain(String[]args){introws=5;for(inti=0;i<行数;i++){for(intj=0;j<空格的个数

3、;j++){System.out.print("");}for(intj=0;j<"*"的个数;j++){http://xueyuan.lanqiao.orgSystem.out.print("*");}System.out.println();//每行的空格和”*”打印完后,需要换行}}我们在用i表示行数(第几行),用j表示打印空格的个数,用k表示打印”*”的个数,可得下表:分析外层循环和内层循环的数学关系,可得:i+j=4即j=4-i=(rows-1)-i,即空格的个数等于:(当前行数-1)-ik=2*i+1,即”*”的个数等于:2*当前行数+1现在,用计算后的关系式将伪代

4、码中的汉字替换,即可实现等腰三角形的打印:publicstaticvoidmain(String[]args)throwsException{introws=5;for(inti=0;i

5、.org该如何实现呢?分析:对比“正等腰三角形”和“倒等腰三角形”,如下不难发现,“倒等腰三角形”的第0行,就是“正等腰三角形”的最后一行;“倒等腰三角形”的第1行,就是“正等腰三角形”的倒数第二一行;…;“倒等腰三角形”的最后一行,就是“正等腰三角形”的第一行。即:把“正等腰三角形”的行数逆序输出,就变成了“倒等腰三角形”。控制“正等腰三角形”行数的是外层循环for(inti=0;i=0;i--),就实现了“倒等腰三角形”的打印,如下:publicstaticvoidmain(String[]arg

6、s)throwsException{introws=5;//for(inti=0;i=0;i--){//将“正等腰三角形”等行数逆序输出for(intj=0;j

7、何实现呢?分析:将菱形上下拆开、一分为二,即可分为“正等腰三角形”和“到等腰三角形”,如图:因此,只需要先打印“正等腰三角形”,然后再打印“到等腰三角形”即可。需要注意,菱形的中间那一行,既是“正等腰三角形”的最后一行,同时也是“倒等腰三角形”的第一行。因此,在打印“正等腰三角形”时,不需要打印最后一行,如下:publicstaticvoidmain(String[]args)throwsException{introws=5;//正等腰三角形//for(inti=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。