c语言代码编写一函数,将一个3×3矩阵转置,即行列互换。要求在主函数中输入原矩阵,输出转置后的矩阵。
时间: 2024-02-27 17:56:16 浏览: 96
好的,以下是一个实现该功能的C语言代码:
```c
#include <stdio.h>
void transpose(int mat[][3]) {
int i, j, temp;
for (i = 0; i < 3; i++) {
for (j = i + 1; j < 3; j++) {
temp = mat[i][j];
mat[i][j] = mat[j][i];
mat[j][i] = temp;
}
}
}
int main() {
int mat[3][3], i, j;
printf("请输入一个3x3的矩阵:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
scanf("%d", &mat[i][j]);
}
}
transpose(mat);
printf("转置后的矩阵为:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", mat[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个程序中,我们定义了一个名为`transpose`的函数,该函数接受一个二维整型数组作为参数。在函数中,我们使用了两层循环来遍历矩阵的上三角部分,将上三角部分的元素与下三角部分的相应元素进行交换,从而实现矩阵的转置。最后,在主函数中,我们输入一个3x3的矩阵,调用`transpose`函数对它进行转置,并将转置后的矩阵输出到控制台。
阅读全文