正在回答
1回答
同学你好,基于外层循环,可以分析一下代码的执行过程:
1.当外层循环执行第一次时,进入循环体,此时n=1;
2.执行内层循环,此时再次将n设置为1;
3.执行判断条件,判断1<=3,结果为true,进入循环体,打印空格;
4.执行n++,将n的值变为2;
5.执行判断条件,判断2<=2,结果为true,进入循环体,打印空格;
6.执行n++,将n的值变为3;
7.执行判断条件,判断3<=1,结果为false,循环结束;
8.省略打印星号的过程;
9.1.当外层循环执行第二次时,进入循环体;
10.执行内层循环,此时将n设置为1;
11.执行判断条件,判断1<=3,结果为true,进入循环体,打印空格;
12.执行n++,将n的值变为2;
13.执行判断条件,判断2<=2,结果为true,进入循环体,打印空格;
14.执行n++,将n的值变为3;
15.执行判断条件,判断3<=1,结果为false,循环结束;
从上面的运行流程可以看出,n的值更改会影响判断条件,所以空格永远都只会输出两次。
基于同学的代码,老师没有理解同学的解题思路,所以无法给出明确的解决方案。不过建议同学在多个循环中,不要使用同一个控制变量。例如可以外层循环使用m,内层打印空格使用n,内层打印星号使用k,这样在分析逻辑和实现代码的时候更容易。循环变量公用的地方越多,需要考虑的因素越多,对初学者来讲难度越大。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星