【C语言】打印九九乘法表,以及n*n乘法表

发布于:2023-02-16 ⋅ 阅读:(594) ⋅ 点赞:(0)

封面

1.九九乘法表

大家好

1.1第1版代码

1.1.1思考过程

要打印九九乘法表,需要用1到9的数每个都乘1到9,并输出结果。
1.最简单的方法用printf()函数排列输出,但这种方法太无脑。
2.可以用两个循环嵌套解决,外层循环输出乘数,内层循环输出被乘数,并在内层循环打印结果。

1.1.2代码

//输出九九乘法表
// 方法一:用printf函数输出
//方法二:利用循环输出,用1到9分别乘1到9

#include <stdio.h>

int main()
{
	int a = 0;
	int b = 0;

	for (a = 1; a <= 9; a++)
	{
		for (b = 1; b <= 9; b++)
		{
			printf("%d*%d=%d\t", a, b, a * b);
		}
		printf("\n");
	}

	return 0;
}

1.1.3问题

输出和想要的结果不一样

第2版代码

虽然打印了但是不是想要的梯形结果

1.2.1重新整理思路

1.用嵌套循环是可行的
2.需要在内层循环里控制打印,不能每个都乘1到9,需要1乘1,2乘1、2乘2,3乘1、3乘2、3乘3…
3.让被乘数小于等于乘数时打印,大于乘数时跳到外层循环。

1.2.2代码

#include <stdio.h>

int main()
{
	int a = 0;
	int b = 0;

	for (a = 1; a <= 9; a++)
	{
		for (b = 1; b <= a; b++)//这里令被乘数小于乘数
		{
			printf("%d*%d=%d\t", b, a, a * b);//注意a和b的顺序
		}
		printf("\n");
	}

	return 0;
}

1.2.3需要注意的细节

细节

2.深入发散:打印n*n乘法表

我们已经会打印九九乘法表了,但不应该在此满足。
由九九乘法表我们可以写出打印nn乘法表的程序,只需要将9替换成我们想要的数n,就可以成功打印nn乘法表。将原先的代码稍加改动:

//实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定
//如:输入9,输出9 * 9口诀表,输出12,输出12 * 12的乘法口诀表。
//使用两个for循环

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int Multiply_table(int x)//打印乘法表函数,输入数字就可打印相应的n*n乘法表
{
	int r = 0;
	int c = 0;
	for (r = 1; r <= x; r++)
	{
		for (c = 1; c <= r; c++)
		{
			printf("%d*%d=%d ", c, r, r * c);
		}
		printf("\n");
	}
}

int main()
{
	int num = 0;
	int a, b;

	printf("请输入想打印的行列数:");
	scanf("%d", &num);

	Multiply_table(num);//打印函数
	
	return 0;
}

输出结果无误:
成功
如此我们就完成了打印n*n乘法表

若是觉的有收获请为我点个赞吧,愿你我在学习代码的路上终有收获!

本文含有隐藏内容,请 开通VIP 后查看