99乘法表
- 首先要去思考这个结构是怎么样的,可以先从一列列考虑,先输出一列,再输出一列,第一列怎么输出呢,每个开头都是1,后面递增到9,就循环,从1到9循环,那第二列怎么办呢,后面的肯定是,又一个循环,因为要输出9列,内循环是输出一列,外循环是输出9列,所以双重循环肯定没有问题,后面来调整参数i和j,下面这图是输出一列
2. 然后我就想输出一列是一个循环,那么两个循环就能输出后面8列,控制i和j就能依次输出2×2,2×3,2×4,我想着把j赋值给i,来达到第二列的效果,这样看似离成功不远了,但是有个问题我一直没有办法解决,我不能把格式控制的像99乘法表那样好看,输出格式有问题
- 此时就是最关键的时候了,双循环的思路肯定没有问题,那么除了一列一列思考,能不能换种方式呢
- 接下来换个角度思考,尝试一行一行的去思考,如果输出一行,就换行,然后在一个循环没有结束的时候就用table来控制行距,是不是能达到一样的输出格式呢,关键问题是抓住每一行的特征,发现每一行前面的数字都是从1开始的,第一行到1结束,第二行2*2=4,到2结束,第三行从1开始一直×到3,所以思考改变i和j
- 关键发现第几行右边乘以的数就是几,第二行是第二轮循环,乘以的数是2,第三轮循环乘以的数是3,所以循环的轮数和乘以的数是匹配的,所以,关键的输出语句如下,输出的语句绝对确定是这样,就改循环条件就好了,然后一行输出完换行,行内控制行距就可以了
- 总结,思考问题的方式学会变通,沉默成本要学会nicefold,要换条路走走,明白如何控制格式,一行一行的处理,比处理列更加容易