js 循环练习题

  1. js 循环求值 案例 拓展
<script>
 
    //求和演示
    var sumWhile = 0;
    var i=1;
    while(i<=100){
        sumWhile += i;
        i++;
    }
    console.log(sumWhile);
 
 
    var j = 1;
    var sumDoWhile = 0;
    do{
        sumDoWhile += j;
        j++;
    }while(j<0);
 
    console.log(sumDoWhile);
</script>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //无论哪个循环  都是在条件为false的情况下终止循环
        //break;推出整个的循环

        //1——100之间所有的数字的输出
        // var i=1;
        // while (i<100) {
        //     console.log(i);
        //     i++;
        // }
        // // do {
            
        // // } while (条件);
        // do {
        //     console.log(i);
        //     i++;
        // } while (i<100);
        // var a=0;
        // do {
        //     console.log(a);
        // } while (a>2);
        //计算1-100之间所有数字的和
        //100以内奇数的和
        // var k=1;
        // //定义一个变量  记录   个数
        // var sum=0;
        // // do {
        // //     sum+=k;  //sum=sum+k=1
        // //     k++;
        // // } while (k<=100);
        // // console.log(sum);

        // //100以内偶数的和
        // var count=0;
        // do {
        //     if(k%2==0){
        //         count++;
        //         sum+=k;
        //     }
        //     k++;
        // } while (k<=100);
        // console.log(sum);
        // console.log(count);

        //求100以内所有3的倍数的和
        // var k=1;
        // var sum=0;
        // do {
        //     if(k%3==0){
        //         sum+=k;
        //     }
        //     k++;
        // } while (k<100);
        // console.log(sum);
        // console.log(k);

        // 使用do-while循环:输出询问“我爱你,嫁给我吧?”,
        // 选择“你喜欢我吗?(y/n):",如果输入为y则打印”我们形影不离“,
        // 若输入为n,则继续询问 
        do {
            var msg=prompt('我爱你,嫁给我吧?(yes/no)');
            if(msg=='yes'){
                document.write('我们形影不离');
                break;   //退出整个循环
            }else{
                document.write('输入有误');
                // msg='no';
            }
        } while ('no');
    </script>
</body>
</html>

2.for循环

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //输出1-100之间所有的数字
        // for(var i=1;i<=100;i++){
        //     console.log(i);
        // }
        //输出1-100之间所有奇数的和
        // var sum=0;
        // for(var i=1;i<=100;i++){
        //     if(i%2!=0){
        //         sum+=i;
        //     }
        // }
        // console.log(sum);

        //1-100之间所有和的平均值
        //分析:    和/次数
        var sum=0;
        var conut=0;
        for(var i=1;i<100;i++){
            conut++;    //次数相加
            sum+=i;     //求和
        }
        console.log(sum/conut);
    </script>
</body>
</html>

拓展

<script>

    //从1乘到100;
    //计数器
//    var product = 1;
//    for(var i=1;i<=10;i++){
//        product *= i;
//    }
//    alert(product);
    //计算出1—100之间所有不能被7整除的整数的数字之和。
//    var sum = 0;
//    for(var i=1;i<=100;i++){
//        //判断,不能被7整除的数字。i%7!=0;
//        if(i%7!==0){
//            sum+=i;
//        }
//    }
//    alert(sum);
//    alert(5050*6/7);

    //计算出1—100之间所有不能被3整除的整数的和大于(或等于)2000的数字。
    var sum = 0;
    for(var i=1;i<=100;i++){
        if(i%3 !== 0){
            sum+=i;
            if(sum>=2000){
                console.log(sum);
            }
        }
    }

break和continue

//计算出1到100之间所有不能被7整除的整数之和(用continue)
//    var sum = 0;
//    for(var i=1;i<=100;i++){
//        //判断:如果能被7整除用continue跳出本次循环进入下一循环
//        if(i%7===0){
//            continue;
//        }
//        sum+=i;
//    }
//    console.log(sum);

    //计算出1到100之间所有不能被3整除的整数的和(用continue)
//    var sum = 0;
//    for(var i=1;i<=100;i++){
//        if(i%3===0){
//            continue;
//        }
//        sum+=i;
//    }
//    console.log(sum);

    //求1到100之间所有不能被3整除的整数的第一个大于2000的和
//    var sum = 0;
//    for(var i=1;i<=100;i++){
//        if(i%3===0){
//            continue;
//        }
//        sum+=i;
//        if(sum>2000){
//            alert(sum);
//            break;
//        }
//    }

    //求200-300之间所有的奇数的和
//    var oddSum = 0;
//    var sum = 0;
//    for(var i=200;i<=300;i++){
        sum+=i;
//        if(i%2===0){
//            continue;
//        }
//        oddSum += i;
//    }
//    alert(oddSum);
    alert(sum);

    //求200-300之间第一个能被7整数的数
//    for(var i=200;i<=300;i++){
//        if(i%7===0){
//            alert(i);
//            break;
//        }
//    }

3.死循环案列

//死循环求和
//    var sum = 0;
//    var i=1;
//    while(true){
//        sum+=i;
//        i++;
//        if(i>100){
//            break;
//        }
//    }
//    alert(sum);


    //需求:点击取消一直弹窗下去。如果点击确定,立马结婚。
    do{
        var bool = confirm("求求你啦,嫁给我吧,我很丑,但是我很温柔啊...");
        if(bool){
            alert("我们去三亚拍结婚照吧,现在才3折优惠啊!");
            break;
        }
    //如果点击的是取消,那么bool的值是false,为了进入下次循环,那么把他变成true;利用的就是非!
    }while(!bool);

4.模拟atm取款机取款

do while做法

**<script>
        //输入密码取款, 密码(123)不对给出剩余几次机会? 如果三次都有误,直接告诉用户账户冻结
        //密码输入正确, 开始取款,取款金额为2000元, 不足2000告诉用户余额不足

        //do while循环做法
        var count=3;
        var money=2000;      //三次密码机会
        do {
            var psw=prompt('请输入您的取款密码');
            if(psw=='123'){
                alert('密码正确,可以取款了');
            var money=prompt('请输入您的取款金额');
            if(money<=2000){
                alert('取款成功');
                break;
            }else if(money>2000){
                alert('您的余额不足');
                break;
            }
        }
            else{
                count--;
                if(count==0){
                    alert('密码输入有误,账户冻结');
                    break;
                }
                alert('密码输入有误,还可输入'+count+'次');
            }
        } while (count>0);
        </script>

for 循环做法

   //for循环 做法
        for(i=2;i>=0;i--){  
        var mima=prompt('请输入密码');  
        if(mima==123){  
        document.write('密码正确');  
        var qukuan=prompt("取款金额");  
        if(qukuan==2000){  
        document.write('取款成功');  
        }else if(qukuan<2000){  
        document.write('取款金额'+qukuan);  
        }else{  
        document.write('金额不足');  
        }  
        break;  
        }else{  
        alert("密码错误"+"剩余次数"+i)  
        }  
        }

拓展练习

 <script>
        //求整数1-100的累加值,但要求碰到个位数为3的数则停止累加
        // var sum=0;
        // for(var i=1;i<100;i++){
        //     if(i%10==3 && i>10){
        //         break;
        //     }
        //     sum+=i;
        // }
        // console.log(sum);

        // for(var i=1;i<5;i++){
        //     if(i%10==3){
        //         continue;
        //     }
        //     sum+=i;
        // }
        // console.log(sum);
    </script>
<script>
        //求1-100之间不能被7整除的整数的和(用continue)
        // var sum=0;
        // for(var i=1;i<=100;i++){
        //     if(i%7!==0){
        //         continue;
        //     }
        //     sum+=i;
        // }
        // console.log(sum);
        //求1~100 之间, 除了能被7整除之外的整数和
        // var sum=0;
        // for(var i=1;i<=100;i++){
        //     if(i%7==0){
        //         continue;
        //     }
        //     sum+=i;
        // }
        // console.log(sum);


        //求200-300之间所有的奇数的和(用continue)
        // var sum=0;
        // for(i=200;i<=300;i++){
        //     if(i%2!=0){
        //         sum+=i;
        //         continue;
        //     }
            
        // }
        // console.log(sum);

        //求200-300之间第一个能被7整数的数(break)
        // var sum=0;
        for(var i=200;i<=300;i++){
            if(i%7==0){
                alert(i);
                break;
            }
        }
        // console.log(sum);
    </script>

5.使用for循环打印矩形,要求每次只能输入一个☆

var sum = ‘’;
for (var i = 1; i <= 4; i++) {
for (var j = 1; j <= 5; j++) {
sum = sum + ‘☆’
}
sum += ‘\n’;
}
console.log(sum);

6.使用for循环打印三角形

// 使用for循环打印三角形
var sum = ‘’;
for (var i = 1; i <= 10; i++) {
for (var j = i; j <= 10; j++) {
sum = sum + ‘☆’
}
sum += ‘\n’;
}
console.log(sum);

7.使用for循环打印99乘法表

var sum = ‘’;
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <= i; j++) {
//1*5=5
sum = sum + i + ‘×’ + j + ‘=’ + i * j+ ‘\t’
}
}
sum += ‘\n’;
}
console.log(sum);

8.接收用户输入的用户名和密码 ,若用户名为“admin”,密码为“123456”,则显示用户登录成功!否则,让用户一直输入。

var yonghuming = prompt(‘请您输入用户名’)
var mima = prompt(‘请您输入密码’)
while (yonghuming != ‘admin’ && mima != ‘123456’) {
yonghuming = prompt(‘请您输入用户名’)
mima = prompt(‘请您输入密码’)
}
alert(‘登陆成功’)

9.求整数1-100的累加值,但要求跳过所有个位数为3的数【用continue实现】

var shuzi = 0;
for (var i = 1; i <= 100; i++) {
if (i % 7 == 0) {
continue;
}
shuzi = shuzi + i
}
console.log(shuzi);

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值