2-9编程练习

来源:2-9 编程练习

慕设计733486

2019-02-19 23:02:28

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>break和continue</title>
</head>
<body>
<script type="text/javascript">
 //补充代码
 for (var i = 1; i <= 100; i++) {
        i = i + 1;
 switch (i) {
            case 22:
                continue;
 case 44:
                continue;
 case 66:
                continue;
 case 88:
                continue;
 }
        console.log(i);
 document.write(i + '<br />');
 }

</script>
</body>
</html>

您好,老师!我这里向您请教一下,我看了其它同学发的答案和我的基本上不相同,是不是我对这个题目2的倍数这句话理解有误还是怎么回事;

我的思路是:

第一步,按任务的要求打印出0-100所以的数;

第二步,再通过i = i + 1来获取2的倍数;

第三步,再来通过switch这个函数来剔除22,44,66,88这四个数;

最后,我不知道我对2的倍数这句话理解是不是对的,如果是对的,我感觉我写的这个虽然能达到编程练习的结果的要求,但应该还能简化,您能不能帮我简化或者是修一下,谢谢您~  

写回答

3回答

好帮手慕查理

2019-02-20

您好,同学的代码也是可以简化的哦~如下:当数值为22、44、66、88时执行跳过此次循环的操作。

var sum = 0;
for (var i = 2; i <= 100; i+=2) {
    switch (i) {
        case 22:
        case 44:
        case 66:
        case 88:
            continue;
    }
    sum+=i;
}
document.write(sum, '<br />');

祝学习愉快!

0

慕设计733486

提问者

2019-02-19

看了他们的答案,我才想到,为什么我要用i = 1,为什么不直接i = 2,还要用i = i + 1来多此一举,写完了之后再看他们的才感觉我的思路没有走开,习惯性的i = 1了,最后还要用i = i + 1来调整成偶数,多此一举,下面的代码是我在自己的思路上完成之后,再参考其它同学的答案,修正自己的思路再修改过来的,现在和他们的基本上相同了,只是他们用了if 加 !!,而我还是用的switch来做的;

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>break和continue</title>
</head>
<body>
<script type="text/javascript">
 //补充代码
 var sum = 0;
 for (var i = 2; i <= 100; i+=2) {
        switch (i) {
            case 22:
                continue;
 case 44:
                continue;
 case 66:
                continue;
 case 88:
                continue;
 }
        sum+=i;
 }

    document.write(sum, '<br />');


 /**
     * 下面的这段代码是别人写的,写得比我的要简单;
     * <script>
     * var sum=0;
     * for (var i=2;i<=100;i+=2){
     *    if (i==22 || i==44 || i==66 || i==88){
     *    continue;
     *    }
     *      sum+=i;
     * }
     * document.write(sum,"<br/>");
     */
    
</script>
</body>
</html>


0

慕设计733486

提问者

2019-02-19

忘了看清楚题目,后面还有一个结果求和,下面是我修改的求和:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>break和continue</title>
</head>
<body>
<script type="text/javascript">
 //补充代码
 var sum = 0;
 for (var i = 1; i <= 100; i++) {
        i = i + 1;
 switch (i) {
            case 22:
                continue;
 case 44:
                continue;
 case 66:
                continue;
 case 88:
                continue;
 }
        sum+=i;
 }

    document.write(sum, '<br />');

</script>
</body>
</html>


0

0 学习 · 4928 问题

查看课程

相似问题