用c语言写矩阵转置 题目描述 在数学上,矩阵是指纵横排列的二维数据表格。 设A为m×n阶j矩阵(即m行n列),第i 行j 列的元素是a[i][j]。定义A的转置为一个n×m阶矩阵B,其中b[i][j] = a[j][i] ,即B的第i行第j列元素是A的第j行第i列元素,记A'=B。例如:
时间: 2023-10-23 07:31:16 浏览: 69
好的,下面是用C语言实现矩阵转置的代码:
```c
#include <stdio.h>
void transpose(int A[][3], int B[][2], int rowA, int colA) {
int i, j;
for (i = 0; i < colA; i++) {
for (j = 0; j < rowA; j++) {
B[i][j] = A[j][i];
}
}
}
int main() {
int A[2][3] = {{1, 2, 3}, {4, 5, 6}};
int B[3][2];
int i, j;
transpose(A, B, 2, 3);
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
printf("%d ", B[i][j]);
}
printf("\n");
}
return 0;
}
```
这里我们定义了一个`transpose`函数,它接收两个二维数组`A`和`B`,以及`A`的行数和列数。函数的作用是将`A`矩阵转置后存储到`B`矩阵中。具体实现是通过两层循环,将`A`矩阵的每个元素复制到`B`矩阵对应的位置上。
在主函数中,我们定义了一个2行3列的矩阵`A`和一个3行2列的矩阵`B`,并将`A`矩阵转置后存储到`B`矩阵中。最后,我们使用两层循环遍历`B`矩阵并输出,以验证转置是否正确。
阅读全文