C语言设计一个子函数,将任意 n×n 的矩阵转置,并在主函数中调用此函数将一个 4×4 的矩阵转置
时间: 2024-02-01 10:12:58 浏览: 94
可以使用以下代码来实现:
```c
#include <stdio.h>
void transpose(int matrix[][4], int n) {
int i, j, temp;
for (i = 0; i < n; i++) {
for (j = i+1; j < n; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
int main() {
int matrix[4][4] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16}};
int i, j;
printf("Original Matrix:\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
transpose(matrix, 4);
printf("Transposed Matrix:\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
在主函数中先定义一个 4x4 的矩阵,然后调用 `transpose` 函数将其转置。`transpose` 函数的参数是一个二维数组和矩阵的大小。使用两层循环,将矩阵的每个元素与其对称位置进行交换,即可实现矩阵的转置。最后在主函数中将转置后的矩阵输出即可。
阅读全文