c语言 将一个3*3的矩阵转置,用一函数实现。 在一主函数中用scanf函数输入以下矩阵元素: 1 3 5 7 8 11 13 15 17 将数组名作为函数参数,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出转置后的矩阵。
时间: 2024-01-27 15:04:19 浏览: 87
好的,这是一个简单的矩阵转置问题,可以借助一个二维数组来表示矩阵。以下是代码实现:
```c
#include <stdio.h>
void transpose(int arr[3][3]) {
int i, j, temp;
// 对角线不变,交换其他元素
for (i = 0; i < 3; i++) {
for (j = i + 1; j < 3; j++) {
temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
}
int main() {
int arr[3][3];
int i, j;
// 输入矩阵元素
printf("请输入一个3*3的矩阵:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
scanf("%d", &arr[i][j]);
}
}
// 转置矩阵
transpose(arr);
// 输出转置后的矩阵
printf("转置后的矩阵为:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
在上面的代码中,`transpose` 函数用来实现矩阵转置,主函数中先输入一个 3x3 的矩阵,调用 `transpose` 函数进行转置,最后输出转置后的矩阵。
阅读全文