js练习题

js练习题

  1. 获取1-100之间的所有偶数
<script>
for(var i = 1;i <= 100;i++){
   
            if(i % 2 == 0){
   
                console.log(i);
            }
         }

         for(var a = 2;a <= 100;a+=2){
   
            console.log(a);
         }
</script>
  1. 计算1-100的积
<script>
    var num = 1;
        for(var n = 1; n<= 10;n++){
   
            num *= n;
           // console.log(num,n);
        }
        console.log(num);
    </script>
  1. 大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,该如何调配?
<script>
     var n = 0;

        for(var x = 0;x <= 100;x++){
   
            for(var y = 0;y <= 100;y++){
   
                for(var z = 0;z <= 100;z++){
   
                    if(x + y + z == 100 && x * 2 + y + z / 2 == 100){
   
                        // console.log(`大马${x}匹; 中马${y}匹; 小马${z}匹`);
                        n++;
                    }
                }
            }
        }

        console.log(n);
    </script>
  1. 公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子?
<script>
    var a = 1;
        for(var i = 1;i < 7;i++){
   
            a = (a + 1) * 2;
        }
        console.log(a);
    </script>
  1. 1~100之间不能被3整除的数之和
<script>
    // 声明一个变量,用于存储所有满足条件的数之和
         var sum = 0;
         // 1~100 循环  不能被3整除的数 判断条件 之和 运算符
         // 找出1~100之间所有的数字
         for(var i = 1; i <= 100; i++){
   
             // 判断不能被3整除的数 取模 %  i对3取模 为0
            if(i % 3 != 0){
   
                // 累加 +=
                sum += i;  // 当i为1时,sum = 0+1; 当i为2时,sum = 1+2,...
            }
        }

        alert('1~100之间不能被3整除的数之和是' + sum);
    </script>
  1. 输入显示的次数,按照你输入的次数显示“班训:快乐学习,认真生活!”,应该怎么写?
<script>
     // 输入显示次数 prompt() 需要存储起来你输入的值 循环
        // 输入显示次数
         var num = prompt('请输入显示次数:') * 1;

         // 循环范围 0-num
         for(var i = 0; i < num; i ++){
   
             document.write('班训:快乐学习,认真生活!<br />');
         }
    </script>
  1. 循环录入Javascript课的学生成绩,统计分数大于等于 80分的学生比例

    分析

    1. 通过循环,获得分数大于等于80分的学生人数num
    2. 判断:如果成绩**<80**,不执行num++,直接进入下一次循环
<script>
    // 循环 prompt 大于等于 80分 条件 学生比例 
        // 满足条件的总人数和班级总人数
        // 输入班级总人数
         var sumNum = prompt('请输入班级总人数:');
         // 满足条件的总人数初始化
         var num = 0;
         // 循环所有学生
         for(var i = 0; i < sumNum; i++){
   
             // 大于等于 80分
             var score = prompt('请输入第' + (i + 1) +'位同学的成绩:');
             if(score >= 80){
   
                 num++;
             }
         }
         //输出满足条件的学生的比例
         document.write('分数大于等于80分的学生比例是:' + num/sumNum)
    </script>
  1. 香蕉3元一个,橘子2元一个,草莓1元一个。现在想用200元买100个水果,在浏览器中列出所有可能性。
<script>
     // 第一种方法
     // banana 0~100 香蕉的个数, 
        // orange 0~100 橘子的个数, 
        // stawberry 0~100 草莓的个数
        // banana * 3 + orange * 2 + strawberry * 1 = 200
        // banana + orange + strawberry = 100
         for(var banana = 0; banana <= 100; banana++){
   
             for(var orange = 0; orange <= 100; orange++){
   
                 for(var strawberry = 0; strawberry <= 100; strawberry++){
   
                     if(banana * 3 + orange * 2 + strawberry * 1 == 200 && banana + orange + strawberry == 100){
   
                         document.write('你可以买' + banana + '个香蕉; ' + orange + '个橘子; ' + strawberry + '个草莓; <br />')
                     }
                 }
             }
         }

        /*
            第二种方法
            banana * 3 + orange * 2 + strawberry * 1 = 200
            banana + orange + strawberry = 100

            banana * 2 + orange = 100
            orange = 100 - banana * 2

            banana +  100 - banana * 2 + strawberry = 100
            strawberry = banana

            banana + strawberry <= 100
            banana <= 50  // 循环条件
        */
         var orange, strawberry;

         // 所有香蕉个数的可能性
        for(var banana = 0; banana <= 50; banana++){
   
             orange = 100 - banana * 2;
             strawberry = banana;

             document.write('你可以买' + banana + '个香蕉; ' + orange + '个橘子; ' + strawberry + '个草莓; <br />')
        }
    </script>
  1. 会员卡四位数求和, 第一个数字大于0,会员卡四位数求和大于20时将返利50元,否则不返利。
<script>
     // 先输入会员卡prompt, 会员卡四位数求和 大于20 
        // 先输入会员卡号
        // 取一个四位数中的个,十,百,千位上面的数字
        // var num = 2356;
        // var q =  parseInt(num / 1000); // 千位
        // var b =  parseInt((num - q * 1000)/100); // 百位
        // var s =  parseInt((num - q * 1000 - b * 100) / 10); // 十位
        // var g =  num - q * 1000 - b * 100 - s * 10; // 各位
        // 2356/1000  2.356  parseInt(2.356)
        // 2356-q*1000 356
        // console.log(g); 
        // console.log(parseInt((num - q * 1000)/100));  // 期望值是3

         var cardNum = prompt('请输入您的会员卡号:');  

         // 拿到四位数
         var q =  parseInt(cardNum / 1000); // 千位
         var b =  parseInt((cardNum - q * 1000)/100); // 百位
         var s =  parseInt((cardNum - q * 1000 - b * 100) / 10); // 十位
         var g =  cardNum - q * 1000 - b * 100 - s * 10; // 各位

         if(q + b + s + g > 20){
   
             alert('恭喜您,您可以获得50元的返利!');
         } else{
   
             alert('很遗憾,您没有满足返利的条件!')
         }
    </script>
  1. 工资所得税工资超过3000的部分需要缴纳个人所得税,输出税后工资(税率为0.05)。
<script>
    // 输入您的工资
         var pay = prompt('输入您的工资');

         // 判断是否满足交税的条件
         if(pay > 3000){
   
             // 计算你拿到的实际工资
             // pay - (pay-3000) * 0.05
             alert('你拿到的实际工资是:' + (pay - (pay-3000) * 0.05))
         }
    </script>
  1. 用户购买商品,三个商品中有一个超过50元,或者总价超过100元,即可以打八五折,否则不打折。
<script>
    // 三个商品prompt  一个超过50元,或者总价超过100元 条件
        // 输入商品
         var goods1 = prompt('请输入第一个商品的价格:') * 1;
         var goods2 = prompt('请输入第二个商品的价格:') * 1;
         var goods3 = prompt('请输入第三个商品的价格:') * 1;

         if(goods1 > 50 || goods2 > 50 || goods3 > 50 || goods1 + goods2 + goods3 > 100){
   
             alert('您需要支付:' + (goods1 + goods2 + goods3) * 0.85);
         } else{
   
             alert('您需要支付:' + (goods1 + goods2 + goods3));
         }
    </script>
  1. 计算1!+2!+3!+…+10!的结果.
<script>
     // 1! 1 2! 2*1 
        // 计算阶乘 计算10的阶乘  10! 10 * 9 *8 ..*1 累乘
         var sum = 1;
         for(var i = 1; i <= 4; i++){
   
             sum *= i; // 1*1 1*1*2*3
         }


        // 这是所有阶乘之
  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值