题目

编写程序,使用两层嵌套 <code>for</code> 循环打印九九乘法表的下三角对齐结构,要求每个等式格式为 <code>i*j=res</code>,严格对齐占位。

输入格式:无需外部输入。

输出格式:按行打印标准的 9 行九九乘法表下三角。

数据范围与约定:嵌套循环输出。

思路与算法

1. 嵌套循环逻辑
外层循环控制行号 for i = 1:9,内层循环控制列号 for j = 1:i(只遍历到当前行号,形成下三角)。

2. 换行与对齐
每个等式用 fprintf("%d*%d=%-2d ", j, i, i*j) 输出,不输出换行符;内层循环结束后,外层输出一个单独的换行符 fprintf("\n")。

3. %-2d 占位符
%-2d 保证算得的积占两位宽度且左对齐,使得单双位数结果整齐对齐。

完整程序

% Octave / MATLAB 第54题:双重嵌套循环九九乘法表

for i = 1:9
    for j = 1:i
        fprintf("%d*%d=%-2d  ", j, i, i * j);
    end
    fprintf("\n"); % 每行结束输出换行
end

运行示例

输出:

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