正在回答
同学你好,基于外层循环,可以分析一下代码的执行过程:
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,这样在分析逻辑和实现代码的时候更容易。循环变量公用的地方越多,需要考虑的因素越多,对初学者来讲难度越大。
祝学习愉快~
- 参与学习 人
- 提交作业 8788 份
- 解答问题 9886 个
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
了解课程
每一行前面的空格怎么都是相同的,我在第一个循环里用的n<=(4-n)就是想第一行空三个空格,第二行空两格,第三行空一个,第四行不空,怎么没有表现出来,是哪里写错了吗
原本的想法是在输出空格的这个判断条件,m是第一行时n循环四个空格、m是第二行循环三个空格。。。直到第五行循环0个空格,原来的第一个内循环判断条件错写成n了,这个还有问题吗
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星