【第6周01流程控制语句 3-25 1000元变2000元】麻烦老师看下while,do-while,for的写法对吗?
问题描述:
Q1: 麻烦老师看下while,do-while,for的写法对吗?
Q2:for那里的年份是要从1开始吗?
相关截图:
相关代码:while
//================ while ================= var p=1000, y=0; while(p<2000){ p*=1.05; y++; } while(p>=2000){ document.write(y); break; }
相关代码:do-while
// ================= do-while ============== var p=1000, y=0; do{ p*=1.05; y++ }while(p<2000); document.write(y);
相关代码:for
// ================= for ================= var p=1000, y=1; for(var y=1,p=1000;p<2000;y++){ p*=1.05; document.write(y); }
5
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕然然
2021-11-29 16:41:45
同学你好,解答如下:
1、while循环的写法可以优化一下:第二个while循环其实不需要写,第一个while循环就能够实现效果,即当p < 2000不成立的时候,while循环会自动结束,此时就能得到年份,如图
如果想使用break的话,同学可以参考如下代码:
2、do-while的写法是没问题的,不需要优化
3、for循环的写法建议优化如下:
首先,年份可以从1开始,最后一次for循环时,是在y+1之后才进行的条件判断,此时y多加了1,所以需要减去1进行修正,或者也可以让年份从0开始进行修正。
其次,建议将输出语句放到for循环外执行,可以更清晰地查看输出结果,如图
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星