多重循环的基本使用

64 阅读2分钟

格式:

for ( 循环变量 <- 数据集) {  
  for(){  
    for(){  
    }  
  }  
}

说明:

1.for可以替换成while循环

2.循环的嵌套可以有多个,数量不限。

3.里外层循环执行的次数不相同。

编写代码打印输出如下图形:

1

22

333

4444

55555

for(i <- 1 to 5){   //代表行,一共有五行
  for(j <- 1 to i){ // 具体一行中输出什么内容

    print(i)
  }
  println()  //换行
}

白鸡百钱问题

公鸡1只,价格5钱;

母鸡1只,价格3钱;

小鸡3只,价格1钱;

用100钱买100只鸡,问公鸡,母鸡,小鸡各有多少只?

for(x <- 0 to 20){
  for(y <- 0 to 33){
    var z = 100 - x - y
//小鸡的数量一定是3的倍数
    if(z%3==0 && 5*x + 3*y +z/3 == 100){
      println(x,y,z)
    }
  }
}

结果:

(0,25,75)
(4,18,78)
(8,11,81)
(12,4,84)

打印乘法口诀表

    for(i <- 1 to 9){
      for(j <- 1 to i){
//        print(s"${j}×${i}=${i*j} ")
        printf("%d×%d=%-3d", j, i, i*j)
        //%d 表示一个占位符,表示会以整数的形式输出对应的值
        //%-3d 表示一个占位符,表示会以整数的形式输出对应的值,这是数字占3个字符的宽度,左对齐
      }
      println()
    }

结果:

1×1=1  
1×2=2  2×2=4  
1×3=3  2×3=6  3×3=9  
1×4=4  2×4=8  3×4=12 4×4=16 
1×5=5  2×5=10 3×5=15 4×5=20 5×5=25 
1×6=6  2×6=12 3×6=18 4×6=24 5×6=30 6×6=36 
1×7=7  2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49 
1×8=8  2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64 
1×9=9  2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81