for循环

今天我们来聊聊for循环,

for(条件一;条件二;条件三){
//循环体
}

这就是for循环的构造
条件一:var 一个值
条件二:进入循环的判断条件
条件三:var 的值每一次循环完后,是否递增或递减
循环体:就是你输入所要循环的代码的地方
执行顺序:先执行条件一,再看条件一是否满足条件二的判断,如果满足则进入循环,反之则不进入循环,如果进入循环里则执行循环体里面的内容,最后再执行条件三。

一般for循环样式为

for(var i=0;i<10;i++){
console.log("1");//打印出10次1
}

说完最基础的for循环后我们在说一下双层for循环

        for (条件一; 条件二; 条件三) {
            //循环体
            for (条件四; 条件五; 条件六) {
                //循环体二
            }
        }

执行顺序:先执行条件一,再看条件一是否满足条件二的判断,如果满足则进入循环体,在循环体内如果有内容则,按顺序执行,从上向下执行,然后碰到第二个for循环后则,判断条件四是否满足条件五的条件,如果满足,则进入循环体二,执行完循环体二的内容后,执行条件六,然后在条件四自增(自减)后如果条件四继续满足条件五,则继续执行,直到条件四不满足条件五后,再执行条件三。

一般双层for循环的样式为

      for (var i = 0; i < 10; i++) {
            console.log("1"); //打印出10次1
            for (var j = 0; j < 10; j++) {
                console.log("2"); //打印出100次2
            }
        }

这就是基本的双层for循环,当然也有三层for循环,但是其原理跟双层for循环原理一样,等下我们看几个题目我们就知道了
基础题一
输出1-10与5相乘的结果

        var s = 0;//接受总值
        for (var i = 1; i <= 10; i++) {
            s += i * 5
        }
        console.log(s);//275

基础题二
任意输入一个数,判断该数是否为水仙花数(每位上的数字的立方和等于该数本身)

        for (var i = 0; i <1000 ; i++){
            var a = prompt('请输入一个数')
            var b=parseInt( a%10)
            var c=parseInt(a/10%10)
            var d=parseInt (a/100)
            if((b*b*b)+(c*c*c)+(d*d*d)==a){
                alert("是水仙花数")//有153,370,371,407
                break;//因为这是一个一千次的循环所以需要在输入正确后跳出循环
            }
            else{
                alert("不是水仙花数")
            }
        }

基础题三
用代码实现一个猜数字的小游戏,假设要猜的目标数字是8,先可以提示用户猜的数在0-10之间,然后循环接受用户输入的数字,如果用户输入的数字比目标数字小,就提示”小了,继续猜”,继续接受用户输入的数字,继续比较,如果大了,就”大了,继续猜”,如果用户在5次以内猜对了,就提示”你真聪明,猜对了!”并结束循环,如果猜了5次还没有猜对,就提示”真笨,不跟你玩了”,并结束循环

        for (var i = 1; i < 10; i++) {
            var a = prompt('输入')
            if (i == 5) {
                alert("下次再来吧")
                break;
            }
            if (a < 8) {
                alert("太小了")
                continue
            }
            if (a > 8) {
                alert("太大了")
                continue
            } else {
                alert("恭喜")
                break;
            }
        }

看着题目长,其实也就一点逻辑与代码

基础题四
循环接受本班学生的考试成绩,有30个学生,每个学生有5门成绩,接受并计算所有学生的所有门成绩的和,输出 (学生的人数由用户控制,询问用户是否要继续,答案为’1’时就接收下一个学生的成绩,每个学生还是5门成绩)

        var he = 0;
        for (var i = 1; i <= 30; i++) {
            var one = Number(prompt("请输入第一门"))
            var two = Number(prompt("请输入第二门"))
            var three = Number(prompt("请输入第三门"))
            var four = Number(prompt("请输入第四门"))
            var five = Number(prompt("请输入第五门"))
            var jixu = Number(prompt("是否继续"))
            he += (one + two + three + four + five)
            alert(he)
            if (jixu != 1) {
                alert("结束")
                break
            }
        }

基础题五
打印一个九九乘法表

        for (var i = 1; i <= 9; i++) {
            for (var j = 1; j <= i; j++) {
                if (j > i) {
                    break;
                }
                document.write(i + "*" + j + "=" + (i * j) + "&nbsp;&nbsp;&nbsp;");
                if (j == i) {
                    document.write("<br/>");
                }
            }
        }

在这里插入图片描述

基础题六
求乘积等于100 的所有乘数和被乘数(以一对的形式输出)

for (var i = 1; i <= 100; i++) {
            for (var j = 1; j <= i; j++) {
                if (i * j == 100) {
                    document.write(i + "*" + j + "=" + (i * j) + "<br/>");
                }
            }
        }

在这里插入图片描述

基础题七
有一个分数列2/1,3/2,5/3,8/5,13/8,21/13….,求前20项的和

var mu = 1, zi = 2;
        var sum = 0;
        for(var i = 0; i < 20; i++) {
        	sum +=zi / mu;
        	zi = mu + zi;
        	mu = zi - mu;
        }
        alert(sum);

在这里插入图片描述

基础题八
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

        var a=1;
        var b=(a+1)*2;
        for(var i=1;i<=9;i++){
            b=(b+1)*2
            console.log(b);
        }

在这里插入图片描述
这就是for循环以及多层for循环的的简介介绍,以及一些简单实用的习题,希望对大家有所帮助。

  • 192
    点赞
  • 697
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值