打印九九乘法表
C语言中的%2d,表示将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格。
首先要打印九九乘法表,就要产生1-9的数,用两层for嵌套循环产生这些数,这些数之间相乘就可以得到一个从1×1到9×9的正方形,之后思考怎样可以再得到一个三角形式的,我们可以通过观察发现左下三角的乘法表中被乘数都小于等于后面的乘数,于是就可以通过if条件语句来筛选出下三角。
参考代码如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 0;
int j = 0;
int mul = 0;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= 9; j++)
{
if (j<=i)
{
mul = j*i;
printf("%d*%d=%2d ", j, i, mul);
}
}
printf("\n");
}
system("pause");
return 0;
}
对上述代码进行优化
参考代码如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 0;
int j = 0;
int mul = 0;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
{
mul=j*i;
printf("%d*%d=%2d ", j, i, mul);
}
printf("\n");
}
system("pause");
return 0;
}
上述两个代码打印结果:
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