c语言慕课九九乘法表答案,一个月终于弄懂了九九乘法表的逻辑。

看到源代码后虽然能写,但是确实按照一步步操作对照乘法表相符的方法理解的。但是为啥这样,确实似解非解,知道一个月后再次学习嵌套循环,才明白了内在的原理与逻辑。

代码如下:

for (int i = 1; i <=9; i++) {

for (int j = 1; j <=i; j++) {

System.out.print(j+"*"+i+"="+i*j+"\t");

}

System.out.println("");

第一步。找到确定变量。

外循环变量 i。

内循环变量 j。

第二步,确定内外循环管的对应位置。

确定哪个是外循环,哪个是内循环。莫搞混了。

我们明白嵌套循环,一个外循环,一个内循环。

外循环运行一次,内循环运行一遍多次。接着外循环运行第二次。

知道外循环运行一遍,内循环已经运行了j*k次。

这个时候我们可以发现,外循环运行一次,变量不变,但是内循环的变量却变化了。

这个时候我们看任一一行,比如第三行。3一直不变,123循环了一轮。所以,可以确定前面的变量为123所在的位置为内循环的变量,3个3所在的位置是外循环的变量。

这个时候我们就可以得到变量的基本表达式。

j+""+i+"="+ij

这个时候发现外循环控制换行。

于是加上System.out.println("");

第三步,明白两个循环各自次数,确定循环条件。

这个可以说是隐藏的难点。换行。

来确定循环条件。两个变量的取值范围都是1-9.于是设置都<=9.

运行结果为:

11=1 21=2 31=3 41=4 51=5 61=6 71=7 81=8 91=9

12=2 22=4 32=6 42=8 52=10 62=12 72=14 82=16 92=18

13=3 23=6 33=9 43=12 53=15 63=18 73=21 83=24 93=27

14=4 24=8 34=12 44=16 54=20 64=24 74=28 84=32 94=36

15=5 25=10 35=15 45=20 55=25 65=30 75=35 85=40 95=45

16=6 26=12 36=18 46=24 56=30 66=36 76=42 86=48 96=54

17=7 27=14 37=21 47=28 57=35 67=42 77=49 87=56 97=63

18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64 98=72

19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 9*9=81

这个结果显然与乘法表不同。这个时候发现第一行外循环不变,但是内循环却多运行了。于是改变内需换的变量取值范围。

这时候再次发现第一行内循环运行了一次,

第二行,内循环运行了两次。

第三行,内循环运行了三次。这时候发现。可以用外循环的的变量作为内循环的取值范围限制。于是内循环的循环条件改为j <=i;

再次运行。得到的结果与乘法表一样。

优化一下在表达式后面加一个“\t”.价格空格更方便阅读。

按照这样的思路。

首先确定变量,第二步确定循环体,第三部确定循环条件。这里的二三步条换回来就是单层循环语句的执行过程。

可以说算是将嵌套循环简化为两个简单的单层循环来解决了,是不是有种解中学数学题的感觉。将难题分解为及格简单题。

11=1

12=2 22=4

13=3 23=6 33=9

14=4 24=8 34=12 44=16

15=5 25=10 35=15 45=20 55=25

16=6 26=12 36=18 46=24 56=30 66=36

17=7 27=14 37=21 47=28 57=35 67=42 77=49

18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64

19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 9*9=81

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值