1、题目:打印9*9乘法表,格式:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
...
9*1=9 9*2=18 ... 9*9=81
我们可以通过双层for循环来实现
package main
import (
"fmt"
)
func main() {
for i := 1; i < 10; i++ { //外层循环,从1开始,输出1-9,每执行一次i+1
for j := 1; j <= i; j++ { //内层循环,从1开始,j<=i:保证后面的数小于前面的数;j依次加1
fmt.Printf("%d*%d=%d\t", j, i, i*j)
}
fmt.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
2、实现了正向输出后思考一下如何实现反向输出9*9乘法表,也是就是倒三角输出
package main
import (
"fmt"
)
func main() {
for i := 1; i < 10; i++ { //外层循环还是和刚才一样
for j := 9; j >= i; j-- { //内层循环需要从9开始,但必须保证每次执行j大于等i,然后依次递减
fmt.Printf("%d*%d=%d\t", j, i, i*j)
}
fmt.Println() //实现换行输出
}
}
执行结果如下:
9*1=9 8*1=8 7*1=7 6*1=6 5*1=5 4*1=4 3*1=3 2*1=2 1*1=1
9*2=18 8*2=16 7*2=14 6*2=12 5*2=10 4*2=8 3*2=6 2*2=4
9*3=27 8*3=24 7*3=21 6*3=18 5*3=15 4*3=12 3*3=9
9*4=36 8*4=32 7*4=28 6*4=24 5*4=20 4*4=16
9*5=45 8*5=40 7*5=35 6*5=30 5*5=25
9*6=54 8*6=48 7*6=42 6*6=36
9*7=63 8*7=56 7*7=49
9*8=72 8*8=64
9*9=81