写一函数,将一个3×3的整型矩阵转置。
#include <stdio.h>
void transposeMatrix(int (*matrix)[3]) {
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
int main() {
int matrix[3][3];
printf("Enter a 3x3 matrix:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &matrix[i][j]);
}
}
transposeMatrix(matrix);
printf("Transposed matrix:\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
函数通过指针遍历矩阵并交换元素的位置来进行转置。main
函数中,用户输入一个3x3矩阵,通过指针传递给transposeMatrix
函数进行转置。