C 语言矩阵转置

2024 年 8 月 28 日 | 阅读 2 分钟

在线性代数中,矩阵的转置是一个通过交换其行和列得到的新矩阵。例如,如果我们有一个 m x n 维的矩阵 A,那么它的转置 AT 将具有 n x m 维。

在 C 编程语言中转置矩阵,我们可以遵循以下步骤:

声明矩阵:首先,我们需要声明一个二维数组来表示我们的矩阵。我们可以通过指定行数和列数来做到这一点,如下所示:

这里,m 和 n 分别表示行数和列数。

初始化矩阵:接下来,我们需要用一些值来初始化矩阵。我们可以使用嵌套的 for 循环来做到这一点,如下所示:

在这里,我们使用 scanf 函数向矩阵输入值。

转置矩阵:一旦我们初始化了矩阵,就可以使用另一个嵌套的 for 循环来转置它,如下所示:

在这里,我们沿着对角线交换矩阵的元素。这是通过将 matrix[i][j] 处的元素值存储在临时变量中,交换 matrix[i][j] 和 matrix[j][i] 的值,然后将临时变量的值赋给 matrix[j][i] 来完成的。

显示转置后的矩阵:最后,我们可以使用另一个嵌套的 for 循环来显示转置后的矩阵,如下所示:

在这里,我们使用 printf 函数显示转置后矩阵的元素。

将所有内容放在一起,我们就得到了完整的程序:

C 语言程序

输出

Enter the number of rows: 3
Enter the number of columns: 2
Enter the elements of the matrix:
1 2
2 3
3 4
The transposed matrix is:
1 2 3 
2 3 4

该程序提示用户输入矩阵的维度,使用用户输入的值初始化矩阵,转置矩阵,然后将转置后的矩阵显示给用户。请注意,该程序假定用户输入了矩阵维度和矩阵元素的有效值。