题目要求:
实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定
如:输入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;
}