c语言怎么实现n*n的矩阵转置
详细说明
在 C 语言中,实现 n*n
矩阵的转置可以通过以下步骤完成:
定义矩阵:首先定义一个
n*n
的矩阵,并初始化矩阵的元素。创建转置矩阵:定义一个与原矩阵大小相同的矩阵来存储转置后的结果。
转置矩阵:遍历原矩阵,将每个元素的行列位置互换,并存入转置矩阵。
输出结果:打印原矩阵和转置矩阵以验证结果。
示例代码
下面是一个示例代码,演示如何实现 n*n
矩阵的转置:
c#include <stdio.h>
#define N 3 // 矩阵的大小
void printMatrix(int matrix[N][N]) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
void transposeMatrix(int matrix[N][N], int transposed[N][N]) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
transposed[j][i] = matrix[i][j];
}
}
}
int main() {
int matrix[N][N] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
int transposed[N][N];
printf("Original matrix:\n");
printMatrix(matrix);
transposeMatrix(matrix, transposed);
printf("Transposed matrix:\n");
printMatrix(transposed);
return 0;
}
说明
定义矩阵:矩阵
matrix
初始化为 3x3 大小,可以根据需要调整N
的值来处理其他尺寸的矩阵。转置函数:
transposeMatrix
函数将原矩阵matrix
的每个元素matrix[i][j]
转移到转置矩阵transposed[j][i]
的相应位置。打印矩阵:
printMatrix
函数用于打印矩阵的内容,验证转置的结果是否正确。
关键字
C语言, 矩阵转置, 矩阵操作, 代码示例, 二维数组, 转置算法