今天是建国68周年,也是踏上技术之路的第一天。
原理是这样的,共两重循环互相嵌套,第一轮循环是被乘数从1开始,循环到9结束。第二重循环,是从1到第一个数为止。为什么?因为我们背乘法口诀是这样背的:一一得一。一二得二,二二得四。一三得三,二三得六。三三的九......看,要循环的第一个数的取值是不是从1到9?要循环的第二个数的取值是不是从1到第一个数?
因此,将这个思路转化成代码,要几个变量?2个吗?不对,三个,还要有一个变量来保存它们的乘积。
不过有一些注意的点,打印的时候要注意:在什么地方换行?现在我们如果想要出现的效果是把乘法表打印成直角三角形的形状,该在哪输出换行符?
我们在内循环中打印了一个乘式,之后程序跳到这个内循环的入口,进行是否再次进入内循环体的判断。
有两种情况:第一种是进入内循环,再次打印。
第二种是,条出整个内层循环,去执行外循环的for语句中的第三个语句。注意一下,如果是后面这种情况,是不是说明第乘数已经等于被乘数了,这个时候根据我们的想出现的效果,是不是在此时换行,让循环从另一行开始执行打印语句?(注意是在程序出内循环的时候换行。)
还有一个思路就是用continue语句,第一个数从1到9,第二个数也是从1到9,不过,内层循环要有一个判断语句,如果被乘数大于乘数,跳出内层循环,换行。否则,else打印乘式。当然如果是被乘数小于乘数,用continue跳出也行,不过形状会发生变化。因为
因为如果被乘数小于乘数的话,程序总是执行else 语句,只有当i加到10之后才会跳出内循环进行换行。