JS基础的逻辑语句练习

第一题 对1~n进行求和

       var n=prompt("请输入一个正整数");
       var b=0;
      var i=1;
   while (i <= n){
       b=b+i;
       i=i+1;}
   alert(b);

第二题   一个篮球的高度为100米 每次落地弹起高度为前一次高度的0.6 问多少次之后高度小于1米?

       var h=100;
        var i=0
     while (true){
         h=h*0.6;
         i=i+1;
         if (h < 1) {
             alert(i);
             break;
         }
     }

第三题  判断一个年份是否为闰年或者平年。

     var n = prompt("请输入一个年份");
     var f = n % 4;
     var h = n % 100;
     var i = n % 400;
     var r = ((f==0 && h!=0)|| i==0)?"闰年":"平年";
     alert(r);
      if (r = ((f==0 && h!=0)|| i==0)) {
          alert("闰年");
      }else{
          alert("平年");
      }

第四题  标准体重:
    男士体重=身高-100±3,女士体重=身高-110±3
    将公式变形为:男士体重-身高+100=±3  女士体重-身高+110=±3

     var a = prompt("请输入性别:男/女");
     var g = 0; 
     if (a == "男") 
     {
         var w = prompt("请输入体重");
             w = Number(w);
             if(isNaN(w))
             {
                alert("请输入数字");
             }else if(!isNaN(w) && w>0)
             {
                 var h = prompt("请输入身高");
                     h = Number(h);
                    if(isNaN(h))
                    {
                        alert("请输入数字");
                     }else if(!isNaN(h) && w>0)
                     {
                         g = w - h + 100;
                         if (g>=-3 && g<=3) 
                         {
                             alert("标准体重");
                         }else
                         {
                             alert("非标准体重");
                         }
                    }else{
                        alert("请输入数值");
                    }
                    
             }else{
                 alert("请输入数值");
             }
     }else if(a == "女"){
               var w = prompt("请输入体重");
             w = Number(w);
             if(isNaN(w))
             {
                alert("请输入数字");
             }else if(!isNaN(w) && w>0)
             {
                 var h = prompt("请输入身高");
                     h = Number(h);
                    if(isNaN(h))
                    {
                        alert("请输入数字");
                     }else if(!isNaN(h) && w>0)
                     {
                         g = w - h + 110;
                         if (g>=-3 && g<=3) 
                         {
                             alert("标准体重");
                         }else
                         {
                             alert("非标准体重");
                         }
                    }else{
                        alert("请输入数值");
                    }
                    
             }else{
                 alert("请输入数值");
             }
               
     }else{
               alert("请输入性别");
     }

一个游戏,前20关是每一关自身的分数,
21-30关每一关是10分
31-40关,每一关是20分
41-49关,每一关是30分
50关,是100分
输入你现在闯到的关卡数,求你现在拥有的分数

var n = prompt("请输入你的闯关数");
    n = Number(n);
     if(n <= 20){
       var a=0;
    var i=1;
        while (i <= n){
        a=a+i;
        i=i+1;}
    alert(a);
   }else if(n >20 && n <= 30){
       var b = ((n - 20)*10)+210;
       alert(b);
   }else if(n >30 && n <= 40){
       var c = ((n - 30)*20)+310;
       alert(c);
   }else if(n > 40 && n < 50){
       var d = ((n - 40)*30)+510;
       alert(d);
   }else if(n>=50){
       alert(880);
   }else{
       alert("请正确输入");
   }

假设一个简单的ATM机的取款过程是这样的:
首先提示用户输入密码(password),
最多只能输入三次,超过3次则提示用户“密码错误,
请取卡”结束交易。如果用户密码正确,
再提示用户输入取款金额(amount),
ATM机只能输出100元的纸币,一次取钱数要求最低
100元,最高1000元。
若用户输入的金额符合上述要求,则打印输出用户取得钱数,
最后提示用户“交易完成,请取卡”,否则提示用户重新输入金额。

假设用户密码是111111,请编程实现。

var bs = 3;
while(true){
    var a = prompt("请输入密码");
if(a!="111111"){
    alert("密码错误,请重新输入");
    bs--;
    if (bs==0) {
        alert("3次错误,请取卡");
        break;
    }
    alert("还有"+bs+"次");
}else{
    while(true){
        var b = parseInt(prompt("请输入金额"));
        if (b<100||b%100!=0||b>1000) {
            alert("重新输入金额");
        } else{
            alert("交易完成,请取卡");
            break;
        }

        }
        break;
    }
}

打印九九乘法表:

for(var i = 1;i <= 9;i++){
        
        for(var j = 1;j <= i;j++){
            document.write(j+"*"+i+"="+i*j+"&nbsp;");
        }
        document.write("<br>");
    }
一、打印三角形

*
**
***
****

   *
  **
 ***
****

****
 ***
  **
   *


****
***
**
*


   *
  ***
 *****
*******
 
第一个
for(var i = 1;i <= 4;i++){
        
        for(var j = 1;j <= i;j++){
            document.write("*");
        }
        document.write("<br>");
    }
document.write("<br>");
document.write("<br>");
第二个
for(var i = 1;i <= 4;i++){
        for(var m = 4;m > i;m--){
            document.write("&nbsp");    
        }
        for(var j = 1;j <= i;j++){
            document.write("*");    
        }
        document.write("<br>");
    }
document.write("<br>");
document.write("<br>");
第三个
for(var i = 1;i <= 4;i++){
        for(var m = 1;m < i;m++){
            document.write("&nbsp");    
        }
        for(var j = 4;j >= i;j--){
            document.write("*");
        }
        document.write("<br>");
    }
document.write("<br>");
document.write("<br>");
第四个
for(var i = 1;i <= 4;i++){
        
        for(var j = 4;j >= i;j--){
            document.write("*");
        }
        document.write("<br>");
    }
document.write("<br>");
document.write("<br>");
第五个
for(var i = 1;i <= 4;i++){
        for(var m = 4;m >= i;m--){
            document.write("&nbsp");
        }
        for(var j = 1;j <=(i*2)-1;j++)
        {
            document.write("*");    
        }
        document.write("<br>");
    }

水仙数

var num = prompt("请输入一个三位数"); 
    num = Number(num);
    if (num>100 && num<=999) {
          var b = -1; 
        while (num > 0){
            b = b + 1 ;
            num=num-100;
            
        }
//      得到百位数i和一个新num1
        var num1 =num+100; 
//      alert(num1);
        var s =-1; 
        while (num1>0){
            s = s + 1;
            num1=num1-10;
        }
//      alert(s);
//      alert(num1);
//      得到十位数位数s和一个新num2
        var num2 =num1+10; 
        var g = 0;
        while (num2>0){
            g = g + 1;
            num2=num2-1;
        }
//      alert(g);
//      得到ge位数位数g
        if ((g*g*g)+(s*s*s)+(b*b*b)==(b*100)+(s*10)+g) {
            alert("水仙数");
        }else{
            alert("不是水仙数");
        }
    }else if(num==100){
        alert("不是水仙数");
    }else{
        alert("请输入三位数");
    }

购物卡 :牙膏2元  牙刷5元  牙膏盒15元  请问正好花完100元 有多少情况?

    var i=0;
    for(var x = 0;x <=20;x++){
        for(var y = 0;y <= 50;y++){            
            for(var z = 0;z <= 6;z++){
//                alert(z);0~6;
//              alert(x+"a"+y+"a"+z);得到xyz了
                if(x*5+y*2+z*15==100){
                         i++;         
                }
            }
//        alert(x+"a"+y);
        }
//    alert(x);
    }
    alert(i);

100内与7相关的数

for (var i=1;i<=100;i++) {
             if((i-7)%10==0 || i%7==0 ){
                 alert(i);
             }
       }

16、大马驮2石粮食,中马驮1石粮食,
两头小马驮一石粮食,要用100匹马,
驮100石粮食,该如何调配?

    for(var x = 0;x <=100;x++){
        for(var y = 0;y <= 100;y++){            
            for(var z = 0;z <= 100;z++){
//                alert(z);
//              alert(x+"a"+y+"a"+z);得到xyz了
                if((x*2+y*1+z*(0.5)==100) && (x+y+z==100)){
                       alert("大马"+x+"中马"+y+"小马"+z);
                }
            }
//        alert(x+"a"+y);
        }
//    alert(x);
    }

18、公园里有一只猴子和一堆桃子,
猴子每天吃掉桃子总数的一半,把剩
下一半中扔掉一个坏的。到第七天的时候
,猴子睁开眼发现只剩下一个桃子。
问公园里刚开始有多少个桃子?

      var n = 1;
      for(var i = 6;i>=1;i--){
          n=2*(n+1);    
      }alert(n);
      
原文地址:https://www.cnblogs.com/scw123/p/9509271.html