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+"【得加油哦】")
  }

posted @ 2021-07-01 12:00  小黄耗子  阅读(353)  评论(0编辑  收藏  举报