样例输出:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
分别设两个变量i,j对应行和列
内嵌for循环
#include<stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 9; i++)
{
//确定9行
int j = 1;
for (j = 1; j <= 9; j++)
{
//打印一行
printf("%d*%d=%-3d", i, j, i * j);
//3表示占三位,负号使结果左对齐
}
printf("\n");
}
return 0;
}
经测试,得到如下结果:
发现因未对每行的列数加以限制,以至格式与预期的结果不符
将上述代码改进:
for (j = 1; j <= 9; j++)
{
if (j > i)
continue;
printf("%d*%d=%-3d", i, j, i * j);
}
测试后得到: