📅  最后修改于: 2023-12-03 15:23:02.518000             🧑  作者: Mango
这是一道关于矩阵转置的问题。题目描述如下:
将一个N * N的矩阵A转置,并将结果存储在矩阵B中。请编写一个函数,该函数接受矩阵A和B的指针,并使用C语言实现转置操作。
矩阵转置是指将矩阵A的行列互换得到一个新矩阵B。对于一个N * N的矩阵A,可使用两层循环实现矩阵转置:
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
B[j][i] = A[i][j];
}
}
即将矩阵A第i行第j列元素赋值给矩阵B第j行第i列元素,由此实现矩阵转置。
根据上述思路,可编写函数如下:
void transpose(int A[][N], int B[][N]) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
B[j][i] = A[i][j];
}
}
}
其中,N为矩阵A的行数或列数。将函数放入程序中调用即可完成矩阵转置操作。