循环

循环:一遍又一遍重复执行的相同代码或相似的代码
循环特点:
1、循环的条件
规定了循环的执行次数
2、循环操作
要执行相同或相似的语句--循环做什么事情
3、循环的变量
做循环的记录
while循环结构
1、语法
while(条件){//条件:得到的结构必须是boolean
//循环体 ---重复做的事情
}
循环语句中的控制语句
1、continue
终止本次循环的执行,继续下一次循环
2、break
退出循环结构
流程:
1、判断 循环条件
2、如果条件为真,则执行循环体 ; 更改循环变量的值 ----更改的方向是趋向于结束循环
3、再一次判断条件 ,如果条件为真则继续执行循环体 ....
4、止到条件为假 ,则结束循环

例子:

用while()循环来计算1+2+3 ... +98+99+100的值:

 

<html>
  <head>
  <title>计算1+2+3 ... +98+99+100的值</title>
  </head>
  <body>
  <script language="JavaScript" type="text/javascript">
    var total=0;
    var i=1;
    while(i<=100){
        total+=i;
        i++;
      }
  alert(total);
  </script>
</body>
</html>

 


 

例子

珠峰海拔8848米,现在有足够大的纸,厚度是0.01米,折多少次高度可以超过珠穆朗玛峰

var i=0;
while(h<8848){
h*=2;
i++;
}
document.write('折叠'+i+'次能超过珠穆朗玛峰,'+'纸高:'+h);

 

 

 

do...while循环结构

1.语法:
do{
//循环体
}while(条件)
2.流程
1、执行一次循环体
2、判断循环条件是否满足
如果条件为真,则继续执行循环体
如果条件为假,则退出循环
3.do while 和 while之间的区别
do..while至少执行一次 先执行 再判断
while 可能一次都不执行 先判断 后执行

do-while()循环来计算1+2+3 ... +98+99+100的值:

 代码如下 

<html>
<head>
<title>计算1+2+3 ... +98+99+100的值</title>
</head>
<body>
<script language="JavaScript" type="text/javascript">
var total=0;
var i=1;
do{
    total+=i;
    i++;
}while(i<=100);
alert(total);
</script>
</body>

</html>

 

例子2.反复接收用户输入,且打印用户输入的内容,知道输入的是exit为止

<script>

function fun() {
  do{
  var input=prompt("请输入:");
  console.log(input);
  }while(input != "exit" );
}

</script>

<button onclick="fun()">反复接收用户输入(do..while版)</button>

 

 

for循环

1、语法
for(表达式1;表达式2;表达式3){
循环操作 4
}
表达式1:声明条件 1
表达式2:循环条件判断 2
表达式3:更新循环变量 3

例子:/控制台打印1-100之间所有的数字

function fun(){
  for(var i=1;i<=100;i++){
  console.log(i);
  }
  console.log(i);
}

 打印10*10个※的正方形,效果如下:

 

※※※※※※※※※※
※※※※※※※※※※
※※※※※※※※※※
※※※※※※※※※※
※※※※※※※※※※
※※※※※※※※※※
※※※※※※※※※※
※※※※※※※※※※
※※※※※※※※※※
※※※※※※※※※※

<script>
//打印10*10个※的正方形
var s='';
for(var i=0;i<10;i++){
                for(var h=0;h<10;h++){
                    s+='※';
                }
                s+='\n';
            }
            console.log(s)
</script>

打印出下图所示图形

 

※※※※※※※※※※
※※※※※※※※※
※※※※※※※※
※※※※※※※
※※※※※※
※※※※※
※※※※
※※※
※※

var s='';
for(var i=0;i<10;i++){
    for(var h=i;h<10;h++){
    s+='※';
    }
    s+='\n';
}
console.log(s)

 

 

 

计算100内不能被7整除的所有数的和

 

var s=0;
for(var i=0;i<=100;i++){
    if(i%7==0){
    continue;
    }
    s+=i;
}
console.log(s)

 

200-300中第一个能被7整除的数

for(var i=200;i<300;i++){
    if(i%7==0){
        console.log(i);
        break;
    }
}

 

 

 

九九乘法口诀表
<script type="text/javascript">
  for(var i=1;i<=9;i++){
  for(var j=1;j<=i;j++){
  document.write(j+"*"+i+"="+i*j+"\t");
  }
  document.write("<br />");
  }

</script>

 

 

判断101-200之间有多少个素数,并输出所有素数。

function fun1(){
  for(var i=101,count=0;i<200;i++){
  var flag=false;
  for(j=2;j<i;j++){
  if(i%j == 0){
  flag=false;
  break;
  }else{
  flag=true;
  }    
}
  if(flag){
  count++;
  console.log("素数为:"+i)
}
}
}

 

打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。   

for(i=100;i<1000;i++){
                      var a= parseInt(i%10);     //个
                      var b=parseInt((i/10)%10); //十
                      var c=parseInt(i/100);     //百
                      if(a*a*a+b*b*b+c*c*c==i){
                      document.write('水仙花数:'+i+'<hr />');
                      }    
                 }

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

function fun(){
var num = Number(prompt("请输入一个数:"));
var count=Number(prompt("叠加的个数:"))
var n=0,sum=0;//n表示每一个加数,sum表示所有累加的和
for(var i=1;i<=count;i++){
n=n*10+num;//每一个加数
sum+=n;
}
console.log(sum);

}

 

猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

第一天采了 x 个桃子,x/2 - 1 = 剩下的桃子。
// 所以 ( 剩下的桃子 + 1 ) * 2 = 等于 x ,此处的 x 为前一天的桃子
// var x
// for(x=1;x<=9;x++){
// x=(x+1)*2;

// console.log(x)
// }
 前一天/2 - 1 =后一天
 后一天 + 1 = 前一天/2
前一天 = (后一天 + 1)*2

function tao() {
var sum = 1 // 第10天 剩余1个
for (var i = 9 ; i > 0 ; i --) {
// i 等于几 就是计算第几天时候的 桃子,最后i 等于1 计算第一天的
sum = (sum + 1) * 2
}
console.log('第一天共摘了多少'+sum+'个桃')
}

 

有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。

问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

var sum=10
for(var i=0;i<4;i++){
sum=sum+2;
}    
console.log(sum)

 

计算用户输入的数字的阶乘,例如用户输入的是5,则计算5的阶乘,5的阶乘为 5*4*3*2*1

var num=prompt("输出一个数的阶层")
var sum=1;
for(var k=2;k<=num;k++){
sum=k+"*"+sum;
}
document.write("阶层为:"+sum)

 

定义一个函数,返回1+1/3+1/5+1/7+....1/n的和

function fun(){
var n=prompt("输出一个数");
var sum=0;
for(var i = 1; i <=n; i++){
if(i%2!=0){
sum+=1/i;
}    
console.log("和为:"+sum)    
}    
}

 

1~100奇数和

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

 


1~100偶数和

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

 

小明单位发了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 />");
}
}
}
}

打印出下列图形

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

//循环的行数
for(var x=1;x<=7;x++){
//循环的列数
for(var y=1;y<=8;y++){
document.write('●');
}
//循环完每一行输出一个换行
document.write('<br />');
}

 

求1-100之间能被3整除的所有数

<script type="text/javascript">
   var sum = 0;
   for(var i =0;i<= 100;i++){
    if (i%3 == 0){
     sum += i;
     
     
    }
   }
   document.write(sum);

 

 

posted on 2019-05-15 17:25  conlover  阅读(286)  评论(0编辑  收藏  举报

导航