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);
      

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM