左下角的乘法表
左下角的9*9乘法表最为常规
实现它只需要两个循环即可
注意b需要小于a
int main()
{
int a, b;
for (a = 1; a <= 9; a++)
{
for (b = 1; b <= a; b++)
{
printf("%d*%d=%-4d", b, a, a * b);
}
printf("\n");
}
return 0;
}
左上角的乘法表
左上角和左下角的区别在于b循环的次数是10-a。
因此实现左上角的乘法表。
int main()
{
int a, b;
for (a = 1; a <= 9; a++)
{
for (b = 1; b <=10-a ; b++)
{
printf("%d*%d=%-4d", b, a, a * b);
}
printf("\n");
}
return 0;
}
右上角的乘法表
我们该如何实现这种格式的乘法表呢?
可以看出左下角是空白。
那么我们可以打印空格填充那部分。
空格的个数与一个小部分的字符个数相等。
可以通过一个循环去打印。
for (int num = a; num != 9; num++) { printf(" "); }
int main()
{
int a = 0; int b = 0;
for (a = 9; a >= 1; a--)
{
int count = 0;
if (9 - a>=1 )
{
for (int num = a; num != 9; num++)
{
printf(" ");
}
}
for (b = a; b >= 1; b--)
{
printf("%d*%d=%-4d", b, a, a * b);
count++;
if (count == a)
{
printf("\n");
}
}
}
return 0;
}
右下角的乘法表
与右上角乘法表大同小异
区别就在于a的初始化值不同
int main()
{
int a = 0; int b = 0;
for (a = 1; a <= 9; a++)
{
int count = 0;
if (9 - a>0 )
{
for (int num = a; num != 9; num++)
{
printf(" ");
}
}
for (b = a;b>=1; b--)
{
printf("%d*%d=%-4d", b, a, a * b);
count++;
if (count == a)
{
printf("\n");
}
}
}
return 0;
}