用c语言写一个n*n的矩阵转置,不引入自定义的函数
时间: 2024-12-13 17:24:07 浏览: 18
在C语言中,矩阵转置是一个常见的操作,特别是对于二维数组。这里提供一个简单的示例,展示如何不使用自定义函数直接完成n*n矩阵的转置:
```c
#include <stdio.h>
#define N 3 // 可以根据需要更改这个值
void transpose(int matrix[N][N], int transposed_matrix[N][N]) {
for (int i = 0; i < N; ++i) { // 遍历行
for (int j = i; j < N; ++j) { // 从当前元素开始遍历到对角线的末尾
transposed_matrix[j][i] = matrix[i][j]; // 存储转置后的值
}
}
}
// 主程序部分
int main() {
int original_matrix[N][N] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
int transposed_matrix[N][N];
transpose(original_matrix, transposed_matrix);
printf("Original Matrix:\n");
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
printf("%d ", original_matrix[i][j]);
}
printf("\n");
}
printf("Transposed Matrix:\n");
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
printf("%d ", transposed_matrix[i][j]);
}
printf("\n");
}
return 0;
}
阅读全文