MENU

JS试题笔记-JavaScirpt

• March 7, 2019 • Read: 1373 • Recording,Web Program

整理最近做的一些练习,全部使用for/while/dowhile循环,没有用到函数知识!就是逻辑不是很好想!全部手敲的哦,希望能帮到一些朋友!

素数

题目:判断101-200之间有多少个素数,并输出所有素数。
<script>
      document.write("for循环" + "<br />");
      for (i = 101; i <= 200; i++) {
        if (i % 2 != 0 && i % 3 != 0 && i % 5 != 0 && i % 7 != 0) {
          document.write(i + "<br />");
        }
      }
      document.write("while循环" + "<br />");
      var k = 101;
      while (k <= 200) {
        if (k % 2 != 0 && k % 3 != 0 && k % 5 != 0 && k % 7 != 0) {
          document.write(k + "<br />");
        }
        k++;
      }
      document.write("do循环" + "<br />");
      var s = 101;
      do {
        if (s % 2 != 0 && s % 3 != 0 && s % 5 != 0 && s % 7 != 0) {
          document.write(s + "<br />");
        }

        s++;
      } while (s <= 200);
    </script> 

水仙花数

题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
<script>
      ///水仙花!
      document.write("for循环" + "<br />");
      for (var i = 100; i < 1000; i++) {
        var ig = parseInt(i % 10);
        var is = parseInt(i / 10) % 10;
        var ib = parseInt(i / 100);
        if (ig * ig * ig + is * is * is + ib * ib * ib == i) {
          document.write(i + "<br />");
        }
      }
      document.write("while循环" + "<br />");
      var k = 100;
      while (k < 1000) {
        var kg = parseInt(k % 10);
        var ks = parseInt(k / 10) % 10;
        var kb = parseInt(k / 100);
        if (kg * kg * kg + ks * ks * ks + kb * kb * kb == k) {
          document.write(k + "<br />");
        }
        k++;
      }
      document.write("do循环" + "<br />");
      var k = 100;
      do {
        var kg = parseInt(k % 10);
        var ks = parseInt(k / 10) % 10;
        var kb = parseInt(k / 100);
        if (kg * kg * kg + ks * ks * ks + kb * kb * kb == k) {
          document.write(k + "<br />");
        }
        k++;
      } while (k < 1000);
    </script>

分解质因数

题目:将一个正整数分解质因数。例如:输入90,打印出90=2X3X3X5。
  <script>
      document.write("for循环" + "<br />");
      var a = parseInt(prompt("请输入一个正整数:for循环"));

      for (var i = 2; i <= a; i++) {
        if (a % i == 0) {
          a = a / i;
          document.write(i + "<br />");
          i = i - 1;
        }
      }
      document.write("while循环" + "<br />");
      var b = parseInt(prompt("请输入一个正整数:while循环"));
      var c = 2;
      while (c <= b) {
        if (b % c == 0) {
          b = b / c;
          document.write(c + "<br />");
          c = c - 1;
        }
        c++;
      }
      
    </script>

范围分析

题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
 <script>
      var number = parseInt(prompt("请输入你的成绩啊!"));
      if (number > 0 && number < 101) {
        if (number >= 90) {
          alert("A!");
        } else if (number >= 60 && number < 89) {
          alert("B!");
        } else if (number > 0 && number < 60) {
          alert("C!");
        }
      } else {
        alert("重新输入!");
        history.go(0);
      }
    </script>

最大公约数和最小公倍数

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
 <script>
        var a = parseInt(prompt("第一个数"));
        var b = parseInt(prompt("第二个数"));

        var result = 0;//用来存每次获取的公因数
        for (var i = 1; i <= a && i <= b; i++) {
            if (a % i == 0 && b % i == 0) {
                result = i;//循环到最后一次为止 取最后一次的值
                
            }
        }
        document.write(
            "最大公约数为:" +
            result +
            "<br />" +
            "最小公倍数为:" +
            (a * b) / result +
            "<br />"
        );
        document.write("while循环" + "<br />");
        var kk = parseInt(prompt("第一个数!while循环!"));
        var ss = parseInt(prompt("第二个数!while循环!"));
        var ii = 1;
        var i3 = 0;
        while (i3 <= kk && i3 <= ss) {
            if (kk % i3 == 0 && ss % i3 == 0) {
                ii = i3;
            }
            i3++;
        }
        document.write(
            "最大公约数为:" + ii + "<br />" + "最小公倍数为:" + (kk * ss) / ii
        );
    </script>

球的高度和走过的距离!

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
 <script>
     var height=100;
     var sum1=100;
   for (var i = 1; i <= 10; i++)
        {   
            
            height=height/2;
            sum1 = sum1 + height*2;
            
             }
    document.write("球第十次距离地面高度:"+height+"米"+"<br>"+"一共走了:"+sum1+"米。");
   </script> 

组数

题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?
<script>
      var sum = 0;
      for (var x = 1; x < 5; x++) {
        for (var y = 1; y < 5; y++) {
          for (var z = 1; z < 5; z++) {
            if (x != y && x != z && z != y) {
              document.write(x * 100 + y * 10 + z + "<br />");
              sum = sum + 1;
            }
          }
        }
      }

      document.write("一共有:" + sum + "种");
    </script>

完全平方数

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
 <script>
var i, x, y;
for(i=1; i < 10000; i++){
    for(x=1;x<10000;x++){
        if(i+100==x*x)
            for(y=1;y<10000;y++){
                if(i+268==y*y){
                        document.write(i+"<br />");
                }
            }
    }
}

document.write("以上为一万以内符合该条件的数");
        
    </script>

比大小

题目:输入三个整数x,y,z,请把这三个数由小到大输出。
<script>
      var num1 = parseInt(prompt("输入第一个数字"));
      var num2 = parseInt(prompt("输入第二个数字"));
      var num3 = parseInt(prompt("输入第三个数字"));
      if (num1 < num2 && num1 < num3) {
        if (num1 < num2 && num1 < num3 && num2 < num3) {
          document.write(
            "三个数从小到大依次为:" +
              num1 +
              "&nbsp&nbsp" +
              num2 +
              "&nbsp&nbsp" +
              num3
          );
        } else if (num1 < num2 && num1 < num3 && num2 > num3) {
          document.write(
            "三个数从小到大依次为:" +
              num1 +
              "&nbsp&nbsp" +
              num3 +
              "&nbsp&nbsp" +
              num2
          );
        }
      }

      if (num2 < num1 && num2 < num3) {
        if (num2 < num1 && num2 < num3 && num1 < num3) {
          document.write(
            "三个数从小到大依次为:" +
              num2 +
              "&nbsp&nbsp" +
              num1 +
              "&nbsp&nbsp" +
              num3
          );
        } else if (num2 < num1 && num2 < num3 && num1 > num3) {
          document.write(
            "三个数从小到大依次为:" +
              num2 +
              "&nbsp&nbsp" +
              num3 +
              "&nbsp&nbsp" +
              num1
          );
        }
      }

      if (num3 < num2 && num3 < num1) {
        if (num3 < num2 && num3 < num1 && num1 < num2) {
          document.write(
            "三个数从小到大依次为:" +
              num3 +
              "&nbsp&nbsp" +
              num2 +
              "&nbsp&nbsp" +
              num2
          );
        } else if (num3 < num2 && num3 < num1 && num1 > num2) {
          document.write(
            "三个数从小到大依次为:" +
              num3 +
              "&nbsp&nbsp" +
              num2 +
              "&nbsp&nbsp" +
              num1
          );
        }
      }
    </script>

乘法口诀!

题目:输出9*9口诀。
  <script>
      var i = 1;
      do {
        var j = 1;
        do {
          document.write(j + "X" + i + "=" + i * j + "&nbsp&nbsp&nbsp");
          j++;
        } while (j <= i);
        i++;
        document.write("<br />");
      } while (i < 10);
    </script>
    <script>
          //for循环
      for (var i = 1; i <= 9; i++) {
        for (var j = 1; j <= i; j++) {
          document.write(i + "X" + j + "=" + i * j + "&nbsp&nbsp&nbsp");
        }
        document.write("<br>");
      }
    </script>

猴子吃桃问题

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

      for (var i = 1; i < 10; i++) {
        sum = (sum + 1) * 2;
      }
      document.write("猴子一共摘了:" + sum + "个桃子!");
    </script>

菱形

题目:打印出菱形
   <script>
        for (var i = 0; i < 6; i++) {
          for (var j = 6; j > i; j--) {
            document.writeln(" ");
          }
          for (var k = 0; k < 2 * i + 1; k++) {
            document.writeln("*");
          }
          document.writeln("</br>");
        }

        for (var i = 5; i > 0; i--) {
          for (var j = 6; j >= i; j--) {
            document.writeln(" ");
          }
          for (var k = 0; k < 2 * i - 1; k++) {
            document.writeln("*");
          }
          document.writeln("</br>");
        }
      </script>

求两个正整数之间的偶数和!

任意给出两个数,求之间的所有偶数和.
   <script>    
    var nubmer1=parseInt(prompt("输入第一个数!"));
    var nubmer2=parseInt(prompt("输入第二个数!"));
    var sum=0;
    if(nubmer1<nubmer2){
    for(var nubmer3=nubmer1;nubmer3<=nubmer2;nubmer3++){
       if(nubmer3%2==0 ){
                sum=sum+nubmer3;
       }
    }

}
else if(nubmer1>nubmer2){
    for(var nubmer3=nubmer2;nubmer3<=nubmer1;nubmer3++){
       if(nubmer3%2==0 ){
                sum=sum+nubmer3;
       }
    }
}
else{
    document.write("请重新输入!");
}
    document.write("你输入的"+nubmer1+"和"+nubmer2+"之间的偶数和为:"+sum);
    
    </script>

判断身材

需求说明:通过键盘录入身高和体重指标,按照下列标准计算这个人的体重是否正常;若不正常,先输出不正常的等级();再打印出超重百分百;男性标准体重: (身高cm-80)70﹪;女性标准体重:(身高cm-70)60﹪;标准体重正负10﹪ 为正常体重,标准体重正负10﹪~20﹪为体重过重或过轻,标准体重正负20﹪ 以上为肥胖或体重不足,超重计算公式:超重﹪=[(实际体重-理想体重)/(理想体重)]×100%.
 <script>
    window.alert(
      "欢迎来到肖虎威的自动健康检测系统,下面就跟着我来测试一下你的基本情况吧!"
    );
    var sex = prompt("请输入您的性别!“男”或者“女”");
    var tizhong = prompt("请输入您的体重!单位:KG 请不要输入单位!");
    var shengao = prompt("请输入您的身高!单位:CM 请不要输入单位!");
    var nb = (shengao - 80) * 0.7;
    var vb = (shengao - 70) * 0.6;

    var cz = (tizhong - nb) / nb;

    if (sex == "男") {
      if (nb * 0.9 < tizhong && tizhong < nb * 1.1) {
        window.alert(
          "恭喜,你是正常体重!嘻嘻--" + "你的标准体重为:" + nb + "kg"
        );
      } else if (nb * 1.2 > tizhong && tizhong > nb * 1.1) {
        window.alert(
          "你的体重过重!你的标准体重为:" +
            nb +
            "kg" +
            "你超重百分比为:" +
            (cz * 100).toFixed(2) +
            "%"
        );
      } else if (nb * 0.9 > tizhong && tizhong > nb * 0.8) {
        window.alert(
          "你的体重过轻,请及时补充营养!你的标准体重为:" +
            nb +
            "kg" +
            "你超轻百分比为:" +
            (cz * 100).toFixed(2) +
            "%"
        );
      } else if (nb * 0.8 > tizhong) {
        window.alert("你的体重不足!!!你的标准体重为:" + nb + "kg");
      } else if (nb * 1.2 < tizhong) {
        window.alert(
          "你是重度肥胖!你超重百分比为:" + (cz * 100).toFixed(2) + "%"
        );
      } else {
        window.alert("输入有误!请重新输入哦!");
      }
    }

    if (sex == "女") {
      if (vb * 0.9 < tizhong && tizhong < vb * 1.1) {
        window.alert("恭喜,你是正常体重!嘻嘻--你的标准体重为:" + nb + "kg");
      } else if (vb * 1.2 > tizhong && tizhong > vb * 1.1) {
        window.alert(
          "你的体重过重!" + "你超重百分比为:" + (cz * 100).toFixed(2) + "%"
        );
      } else if (vb * 0.9 > tizhong && tizhong > vb * 0.8) {
        window.alert(
          "你的体重过轻,你的标准体重为:" +
            nb +
            "kg" +
            "请及时补充营养!你超轻百分比为:" +
            (cz * 100).toFixed(2) +
            "%"
        );
      } else if (vb * 0.8 > tizhong) {
        window.alert("你的体重不足!!!你的标准体重为:" + nb + "kg");
      } else if (vb * 1.2 < tizhong) {
        window.alert(
          "你是重度肥胖!你超重百分比为" + (cz * 100).toFixed(2) + "%"
        );
      } else {
        window.alert("输入有误!请重新输入哦!");
      }
    }
  </script>

乞丐要钱

题目:天朝有一个乞丐姓洪,去天桥要钱,第一天要了1块钱,第二天要了2块钱,第三天要了4块钱,第四天要了8块钱,第五天要了16块钱 ,问题: 洪乞丐干10天,收入是多少?
<script>
    var sum=1;
    for(var i=1;i<=9;i++){
            sum=sum*2;
    }
    document.write(sum*2-1);//输出总和
</script>

青蛙爬#

题目:有口井7米深,一只青蛙白天爬3米,晚上坠2米,问这青蛙几天才能爬出这口井?
    <script>
      for (var i = 1; i < 7; i++) {
        if (i + 3 == 7) {
          document.write("青蛙用了" + (i + 1) + "天");
        }
      }
    </script>

成绩最大最小值平均值

题目:输入一名同学的姓名和五门课的成绩1)输出最高分;2)输出最低分;3)输出平均分。
<script>
      var name = prompt("请输入你的名字!");
      var num1 = parseInt(prompt("请输入你的第一个成绩"));
      var num2 = parseInt(prompt("请输入你的第二个成绩"));
      var num3 = parseInt(prompt("请输入你的第三个成绩"));
      var num4 = parseInt(prompt("请输入你的第四个成绩"));
      var num5 = parseInt(prompt("请输入你的第五个成绩"));
      document.write(
        "你的平均分成绩是:" + (num1 + num2 + num3 + num4 + num5) / 5 + "<br />"
      );
      if (num1 > num2 && num1 > num3 && num1 > num4 && num1 > num5) {
        document.write("你的最大成绩是:" + num1);
      } else if (num2 > num1 && num2 > num3 && num2 > num4 && num1 > num5) {
        document.write("你的最大成绩是:" + num2);
      } else if (num3 > num1 && num3 > num2 && num3 > num4 && num3 > num5) {
        document.write("你的最大成绩是:" + num3);
      } else if (num4 > num1 && num4 > num2 && num4 > num3 && num4 > num5) {
        document.write("你的最大成绩是:" + num4);
      } else if (num5 > num1 && num5 > num2 && num5 > num3 && num5 > num4) {
        document.write("你的最大成绩是:" + num5);
      }

      if (num1 < num2 && num1 < num3 && num1 < num4 && num1 < num5) {
        document.write("你的最小成绩是:" + num1);
      } else if (num2 < num1 && num2 < num3 && num2 < num4 && num1 < num5) {
        document.write("你的最小成绩是:" + num2);
      } else if (num3 < num1 && num3 < num2 && num3 < num4 && num3 < num5) {
        document.write("你的最小成绩是:" + num3);
      } else if (num4 < num1 && num4 < num2 && num4 < num3 && num4 < num5) {
        document.write("你的最小成绩是:" + num4);
      } else if (num5 < num1 && num5 < num2 && num5 < num3 && num5 < num4) {
        document.write("你的最小成绩是:" + num5);
      }
</script>
Last Modified: March 17, 2019