用c语言写一个n*n的矩阵转置
时间: 2024-12-13 19:24:06 浏览: 11
在C语言中,你可以通过两个嵌套循环来实现一个矩阵的转置。下面是一个简单的示例,假设有一个二维数组 `matrix` 存储了 n×n 的矩阵:
```c
#include <stdio.h>
#define N 3 // 替换为你实际的矩阵大小
// 函数声明
void transpose(int matrix[N][N], int result[N][N]);
int main() {
int matrix[N][N] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 示例矩阵
int result[N][N];
transpose(matrix, result);
printf("原矩阵:\n");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
printf("转置后的矩阵:\n");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", result[i][j]);
}
printf("\n");
}
return 0;
}
// 矩阵转置函数
void transpose(int matrix[N][N], int result[N][N]) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < i; j++) { // 注意交换行和列
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i]; // 转置操作
matrix[j][i] = temp;
}
}
}
阅读全文
相关推荐


















