写一个函数将一个3×3的整型矩阵转置用指针的方法
时间: 2024-04-02 22:34:16 浏览: 92
用指针实现二维数组的转置
好的,下面是实现代码:
```c
#include <stdio.h>
void transposeMatrix(int (*matrix)[3]) {
int temp;
for (int i = 0; i < 3; i++) {
for (int j = i; j < 3; j++) {
temp = *(*(matrix + i) + j);
*(*(matrix + i) + j) = *(*(matrix + j) + i);
*(*(matrix + j) + i) = temp;
}
}
}
int main() {
int matrix[3][3];
printf("请输入一个3×3的矩阵:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &matrix[i][j]);
}
}
transposeMatrix(matrix);
printf("转置后的矩阵为:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
函数 `transposeMatrix` 的参数 `matrix` 代表一个3×3的整型矩阵。函数中用指针的方法实现了矩阵的转置,即将矩阵中第 i 行第 j 列的元素与第 j 行第 i 列的元素交换。在 `main` 函数中通过调用 `transposeMatrix` 函数实现了矩阵的转置,并输出转置后的矩阵。
阅读全文