1. 程式人生 > 其它 >js迴圈語句習題

js迴圈語句習題

1、打印出下列圖形

  ●●●●●●●●
  ●●●●●●●●
  ●●●●●●●●
  ●●●●●●●●
  ●●●●●●●●
  ●●●●●●●●
  ●●●●●●●●

//迴圈的行數
  for(var x=1;x<=7;x++){
    //迴圈的列數
    for(var y=1;y<=8;y++){
      document.write('●');
    }
   //迴圈完每一行輸出一個換行
   document.write('<br />');
  }


  ●
  ●●
  ●●●
  ●●●●
  ●●●●●

  for(var x=1;x<=5;x++){
    for(var y=1;y<=x;y++){
      document.write('●');
    }
   document.write('<br />');
  }


  ●●●●●
  ●●●●
  ●●●
  ●●
  ●        

for(var i=5;i>=1;i--){
  for(var j=1;j<=i;j++){
    document.write("●")
  }
  document.write("<br>")
}

      

  □□□□●
  □□□●●
  □□●●●
  □●●●●
  ●●●●●

for(var i=1;i<=5;i++){
  for(var a=1;a<=5-i;a++){
    document.write("□");
  }
  for(var b=1;b<=i;b++){
    document.write("●");
  }
 document.write("<br>");
}

2、公園裡有一隻猴子和一堆桃子,猴子每天吃掉桃子總數的一半,把剩下一半中扔掉一個壞的。到第七天的時候,猴子睜開眼發現只剩下一個桃子。問公園裡剛開始有多少個桃子?

for迴圈

//最後一天剩下一個桃子

  var peach= 1;

  //反推
  for(var i=1;i<=6;i++){
    peach=(peach+1)*2;
  }
  console.log("公園裡剛開始有"+peach+"個桃子");

while迴圈


var peach=1,a=1;
while(a<=6){
  peach=(peach+1)*2;
  a++;
}
console.log("公園裡剛開始有"+peach+"個桃子");

do-while迴圈
var peach=1,a=1;
do{
  peach=(peach+1)*2;
  a++;
}while (a<=6)
console.log("公園裡剛開始有"+peach+"個桃子");

3、迴圈輸出1~100之間數字的和

var sum=0;
  for(var i=1;i<=100;i++){
    sum+=i;
  }
document.write(sum);

4、1~100奇數和

var sum=0;
  for(var i=1;i<=100;i+=2){
    sum+=i;
  }
document.write(sum+"<br />");

5、1~100偶數和

var sum=0;
  for(var i=2;i<=100;i+=2){
    sum+=i;
  }
document.write(sum);

6、99乘法表倒著寫

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

7、小明單位發了100元的購物卡,小明到超市買三類洗化用品,洗髮水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些購買結合?

//a=洗髮水,b=香皂,c=牙刷
//100元可以買6瓶洗髮水
for(var a=0;a<=6;a++){
  //100元可以買50塊香皂
  for(var b=0;b<=50;b++){
    //100元可以買20個牙刷
    for(var c=0;c<=20;c++){
      //滿足條件
      if(15*a+2*b+5*c==100){
        document.write("洗髮水:"+a+"香皂:"+b+"牙刷:"+c+"<hr />");
      }
    }
  }
}

8、湊錢1,2,5湊20元錢有多少種可能?

//a=一元,b=兩元,c=五元
  //20元可以換20個一元
  for(var a=0;a<=20;a++){
    //20元可以換10個兩元
    for(var b=0;b<=10;b++){
      //20元可以換4個五元
      for(var c=0;c<=4;c++){
        //滿足條件
        if(a+2*b+5*c==20){
          document.write("一元:"+a+"兩元:"+b+"五元:"+c+"<hr />")
        }
      }
    }
  }

9、球從100米的高度落地,每次落地彈起原高度的一半再落下,求在第10次落下時,共經過了多少米?第10次的反彈了多高?

var a=0,h=100;
while(a<=10){
  h=h/2;
  a++;
}
document.write(h);

10、球從100米的高度落地,每次落地彈起原高度的一半再落下,求在第10次落下時,共經過了多少米?第10次的反彈了多高?

var money=10000,a=1;
  while(a<=5){
    money=money*0.003+money;
    a++;
  }
document.write(money);

11、對1~n進行求和

var n=Math.abs(parseInt(prompt("請輸入數字")));
var sum=0;
  for(var a=1;a<=n;a++){
    sum+=a;
  }
document.write(sum);

12、一個籃球的高度為100米 每次落地彈起高度為前一次高度的0.6 問多少次之後高度小於1米?

  var x=0,h=100;
  while(true){
    h=h*0.6;
    x++;
    if(h<1){
      //跳出迴圈
      break;
    }
  }
  document.write(x);

13、一張無限大的紙,可以疊任何次數,已知紙後0.03毫米,對摺多上次可達到珠穆朗瑪峰的高度8848米

//注意單位換算
var a=0.00003,b=0;
  while(true){
    a=a*2;
    b++;
    if(a>=8848){
      break;
    }
  }
  document.write(b);

14、計算1~100之間所有不能被3整除的整數的和大於或等於2000的數字

var sum=0;
for(var a=1;a<=100;a++){
  if(!(a%3==0)){
    sum+=a;
    if(sum>=2000){
      document.write(sum+"<br>");
    }
  }
}

15、輸入一個年份,判斷是否是閏年(能被4整除卻不能被100整除的年份,世紀年份能被400整除的是閏年)

var year=parseInt(prompt("請輸入年份"));
  if((year%4==0 && year%100!=0) || year%400==0){
    alert(year+"是閏年");
    }else{
      alert(year+"是平年");
    }

16、輸入學生姓名,輸入考試成績若是100,【恭喜你***,滿分通過!】若是大於等於80小於100,【**,你很優秀,繼續保持!】若是大於等於60小於80,【**成績良好】大於等於50小於60,【**就差一點點,下次一定要至少及格!】小於50,【**得加油哦】

var Yname=prompt("請輸入學生姓名"),score=prompt("請輸入學生成績");
  if(score==100){
    alert("【恭喜你"+Yname+",滿分通過】")
  }else if(score>=80 && score<100){
    alert(Yname+"【你很優秀,繼續保持】")
  }else if(score>=60 && score<80){
    alert(Yname+"【成績良好】")
  }else if(score>=50 && score<60){
    alert(Yname+"【就差一點點,下次一定要至少及格!】")
  }else if(score<50){
     alert(Yname+"【得加油哦】")
  }