开发者学堂课程【Go 语言核心编程 - 基础语法、数组、切片、Map :经典案例九九乘法表】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/625/detail/9581
经典案例九九乘法表
内容介绍
一、案例要求与分析
二、代码实现
一、案例要求与分析
1、要求
关于多重循环控制的一个案例:九九乘法表,这是一个非常经典的案例。这一个题的要求如下:
打印出九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
……
1*9=0 2*9=18 3*9=27 4*9=36……6*9=54 7*9=63 8*9=72 9*9=81
2、分析
观察要求可得知要使用多重循环实现案例,而且要定义两个变量,一个变量控制层数变化,一个变量控制每层应该打印多少个算式。
1×1=1为第一层
1×2=2为第二层,依次类推,每一层有一个变量在变化,每一次也在变化,每一层都有两个变量来控制,一个变量控制层,一个变量控制打印算式。
二、代码实现
代码为:
f
or i := 1;i <=
9
;i++{
//
i 表示层数,只在当前层有效。这里注意for循环中定义的变量只能在for循环中使用,离开for循环则无效,所以此处定义i与之前代码定义的i不冲突。
for j := 1;j <= i;j++{
//j 表示每层的等式数,当i
=1时就打印一个算式,当i=2时就打印两个算式。
fmt.Println(
“
%v * %v = %v \t
”
,j,i,j*i)
//进行格式化输出表达式,观察九九乘法表可以发现第一个%v就是变化的j,第二个%
v是不变的,
与层数i相同,第三个%v就是j
*
i,为了输出对齐要加上制表符\
t
。
}fmt.Println()
//
以上完成后打印换行
}
运行结果:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
……
1*9=0 2*9=18 3*9=27 4*9=36……6*9=54 7*9=63 8*9=72 9*9=81
经验证案例实现成功。如果要使代码更灵活,可以通过定义变量实现,代码如:
var num int =
20
//定义变量num,赋值为
20
,再修改对应的数值为变量num
for i := 1;i <=num;i++{
for j := 1;j <= i;j++{
fmt.Println(
“
%v * %v = %v \t
”
,j,i,j*i)
}fmt.Println()
}
运行结果:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
……
1*20=20 2*20=40 3*20=60 4*20=80……8*20=160 9*20=180
如上将代码做灵活后就很有意思,但一般是做九九乘法表。课后要求尽量根据自己的理解写出代码。