用C语言写一个程序求已知矩阵A和B的转置矩阵
时间: 2023-08-22 17:04:19 浏览: 155
用C语言实现矩阵的转置
下面是用C语言实现求已知矩阵A和B的转置矩阵的程序:
```c
#include <stdio.h>
#define ROW 3
#define COL 4
void transpose(int matrix[ROW][COL], int transposeMatrix[COL][ROW]) {
int i, j;
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
transposeMatrix[j][i] = matrix[i][j];
}
}
}
int main() {
int A[ROW][COL] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int B[ROW][COL] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int AT[COL][ROW], BT[COL][ROW];
int i, j;
printf("矩阵A:\n");
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
printf("%d ", A[i][j]);
}
printf("\n");
}
transpose(A, AT);
printf("矩阵A的转置矩阵:\n");
for (i = 0; i < COL; i++) {
for (j = 0; j < ROW; j++) {
printf("%d ", AT[i][j]);
}
printf("\n");
}
printf("矩阵B:\n");
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
printf("%d ", B[i][j]);
}
printf("\n");
}
transpose(B, BT);
printf("矩阵B的转置矩阵:\n");
for (i = 0; i < COL; i++) {
for (j = 0; j < ROW; j++) {
printf("%d ", BT[i][j]);
}
printf("\n");
}
return 0;
}
```
这个程序中,我们定义了一个`transpose`函数用于求矩阵的转置矩阵。`transpose`函数接受两个参数,第一个参数是要转置的矩阵,第二个参数是转置后的结果。在`transpose`函数中,我们使用两个循环遍历原矩阵的每个元素,并将其放到转置后矩阵的对应位置。
在主函数中,我们定义了两个矩阵A和B,并打印出它们的原始值。然后,我们调用`transpose`函数来求它们的转置矩阵,并打印出结果。
阅读全文