请编写c语言程序,实现矩阵(3行3列)的转置(即行列互换)
时间: 2024-03-11 17:46:30 浏览: 117
好的,这里是一个实现矩阵转置的C语言程序:
```c
#include <stdio.h>
#define N 3 // 矩阵的行数和列数
void transpose(int matrix[N][N]) {
int tmp;
for (int i = 0; i < N; i++) {
for (int j = i + 1; j < N; j++) {
tmp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = tmp;
}
}
}
int main() {
int matrix[N][N] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
printf("原矩阵:\n");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
transpose(matrix);
printf("转置后的矩阵:\n");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
程序中定义了一个 `N` 行 `N` 列的矩阵,使用嵌套循环输出原矩阵,然后调用 `transpose` 函数将矩阵进行转置,最后输出转置后的矩阵。转置函数中使用了两个嵌套循环,将矩阵的上三角元素和下三角元素交换位置,完成矩阵的转置。
运行结果:
```
原矩阵:
1 2 3
4 5 6
7 8 9
转置后的矩阵:
1 4 7
2 5 8
3 6 9
```
阅读全文