题目要求:
实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定
如:输入9,输出9 * 9口诀表,输出12,输出12 * 12的乘法口诀表。
题目分析:
我们观察乘法口诀表可以发现,每行中第一个乘数是依次递增的,直到增加到与第二个乘数相等为止,而每行中第二个乘数是不变的,而且从第二行开始第二个乘数是相比于上一行增1的。所以应该是由两个for循环执行这两个数的增加。因为每行中第二个乘数是不变的,所以第二个乘数应该是由外for循环执行,第一个层数是由内for循环执行的,由于第一个乘数最后值是等于第二个乘数的所以下面的代码是 j <= i,当 j = i 时换行就可以了。
代码实现:
int main()
{
int n = 0;
while (scanf("%d", &n))
{
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= i; j++)
{
printf("%2d*%2d=%2d ", j, i, i * j);
if (j == i)
{
printf("\n");
}
}
}
}
return 0;
}