运用C语言,任意输入一个3×3的整数矩阵,并使这个3*3整数矩阵转置,要求用指针方法编程实现。(所谓矩阵转置,就是矩阵行列互换)。
时间: 2024-02-18 16:59:44 浏览: 85
好的,可以使用以下的代码来实现:
```c
#include <stdio.h>
void transpose(int *matrix);
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]);
}
}
transpose(&matrix[0][0]);
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;
}
void transpose(int *matrix) {
for(int i = 0; i < 3; i++) {
for(int j = i+1; j < 3; j++) {
int temp = *(matrix + i*3 + j);
*(matrix + i*3 + j) = *(matrix + j*3 + i);
*(matrix + j*3 + i) = temp;
}
}
}
```
在这个程序中,我们使用了一个 `transpose` 函数来实现矩阵的转置。这个函数接受一个指向矩阵首元素的指针,然后通过指针的运算来访问矩阵中的元素。
在 `main` 函数中,我们首先输入一个3*3的整数矩阵,并且将这个矩阵的首元素的地址传递给 `transpose` 函数。然后输出转置后的矩阵。
希望这个程序能够帮到你!
阅读全文