打印九九乘法表有四种格式,左上,左下,右上,右下。
我们先以最简单的左上形式为例讲起。
左下
首先,我们可以想到的是要用到循环。九九乘法表有九行,故先确定打印9行,之后再用一个循环打印每一行的内容。所以我们只要用两个循环就可以完成了!
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 9; i++)//确定打印9行
{//打印一行的内容
int j = 0;
for (j = 1; j <= i; j++)
{
printf("%d*%d=%2d ", i, j, i * j);
}
printf("\n");
}
return 0;
}
为了美观,我们用到了%2d,这是使它右对齐。
右上
#include <stdio.h>
int main()
{
int i = 0,j = 0;
for (i = 1; i < 10; i++)
{
for (j = 1; j <= 9; j++)
{
if (j < i)
printf(" ");
else
printf("%d*%d=%2d ", i, j, i * j);
}
printf("\n");
}
return 0;
}
我们可以数一下,%d*%d=%2d ,他们一共占了7个空,所以要打印7个空格。
右下
int main()
{
int i = 0, j = 0, n = 0;
for (i = 1; i <= 9; i++)
{
for (n = 1; n <= (9 - i); n++)
{
printf(" ");
}
for (j = 1; j <= i; j++)
{
printf("%d*%d=%2d ", i, j, i * j);
}
printf("\n");
}
return 0;
}
左上
int main()
{
int i = 0;
for (i = 1; i <= 9; i++)
{
int j = 0;
for (j = 1; j <= 9; j++)
{
if(j>=i)
printf("%d*%d=%2d ", i, j, i * j);//左上
}
printf("\n");
}
return 0;
}
至此,我们四种三角形都做完了,通过对比发现,j的判断条件很重要,弄清楚是9还是i。