9×9乘法表及n×n乘法表(C语言版)
首先呢,我们先观察一下9x9乘法表的特点
不难发现,乘法表是出现在第几行的时候就用1开始依次 × 当前所在行数,有了这样的思路,那我们就可以用两个for循环来写
for (i = 1; i <= 9; i++) //这里用i来控制乘法表的行数
在有了行数之后,我们就需要在每一行输出1×到所在行的行数及相应的值,例如到第3行就要从1开始乘,先用1×3,再用2×3,再用3×3;到第n行就从1依次×到n;那么,在每一行的循环内,我们再用一个for循环来实现
for (j = 1; j <= i; j++) //j从1开始依次与i相乘
{
printf("%2d × %2d = %2d ", j, i, j * i);//这里的%2d和%3d分别指的是给所打印的整型留出相应的空间
}
注意:打印的时候一定要给%d的整型留出相应的空间,如%2d,否则当数值出现变化的时候会出现无法对齐的情况如下:
并且,一定要注意i和j的位置顺序,一定是j在前,i在后
printf("%d × %d = %d ", j, i, j * i);
9×9乘法表最终的代码:
#include<stdio.h>
int main()
{
int i = 0;
int j = 0;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
{
printf("%2d × %2d = %3d ", j, i, j * i);
}
printf("\n"); //每打印完一行就换行
}
return 0;
}
结果如下:
当然,实现n×n乘法表的思路是一样的,换汤不换药,只需要稍稍改动即可,例如,得到一个12×12乘法表:
#include<stdio.h>
int main()
{
int n = 0;
printf("请输入n:\n");
scanf("%d", &n);
int i = 0;
int j = 0;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= i; j++)
{
printf("%2d × %2d = %3d ", j, i, j * i); //%d之间的位置随着数值的变大尽量调大以保证代码整齐
}
printf("\n");
}
return 0;
}
最终结果:
总结:观察乘法表的特点,根据观察出来的结果来用两个for循环来实现乘法表的行和列:
希望本文对您有所帮助!