函数首先进行内循环,随后进行外循环
eg:
for(i <- 1 to 5){
//println(i)这句话会输出多少次?
for(j <- 1 to 10) {
println(i,j)//这句话会输出多少次?,50次
//外循环5次,内循环10次,乘起来一共50次
}
}
循环的换行
eg1:
for(i <- 1 to 5){// 行,一共有五行
for(j <- 1 to 5) {
print(i)//输出1111122222333334444455555,且不换行
}
println()//使用函数可换行
}
eg2: 将输出结果改为
1
22
333
4444
55555
``` for(i <- 1 to 5){// 行,一共有五行 for(j <- 1 to i) { print(i) } println() //把5改为i时,输出结果为: //1 //22 //333 //4444 //55555 } ``` ## 题目范例eg1:公鸡一只5元,母鸡一只3元,小鸡3只一元,用100钱买三种鸡一共100只鸡可以买多少只?
//公鸡一只5
//母鸡一只3
//小鸡3只一元
//用100钱买三种鸡一共100只鸡
//输出结果为
for(x <- 0 to 20){
for(y <- 0 to 33){
var z =100 - x - y
if(5*x + 3*y + z/3 ==100){
println(x,y,z)
}
}
}
若小鸡的数量一定是3的倍数,则输出以下
for(x <- 0 to 20){
for(y <- 0 to 33){
var z =100 - x - y
//小鸡的数量一定是3的倍数
if(z%3==0 && 5*x + z/3 ==100 ){
println(x,y,z)
}
}
}
九九乘法表
//九九乘法表
for(i <- 1 to 9){
for(j <- 1 to 9){//将9改为i可以进行美观排序
// println(s"${j}x${i}=${i*j}")
printf("%dx%d=%-3d", j, i, i*j)
//%d 表示一个占位符,表示会以整数的格式输出对应的值
//%-3d 表示一个占位符,表示会以整数的格式输出对应的值,这是数字占3个字符的宽度,左对齐
}
println()
}