C语言实现输入一个 N*N 矩阵,并将矩阵转置输出

C语言实现输入一个 N*N 矩阵,并将矩阵转置输出

完整代码:

//输入一个 N*N 矩阵,并将矩阵转置输出

#include

#include

int main(){

int n=0;

printf("请输入矩阵的行数:");

scanf("%d",&n);

//C语言不允许对数组的大小作动态定义

// int arr[n][n];直接定义是错误的

// 要使用malloc函数动态分配内存

int **arr = (int **)malloc(n * sizeof(int *));

for(int i = 0; i < n; i++){

arr[i] = (int *)malloc(n * sizeof(int));

}

// 输入矩阵

printf("请输入矩阵的元素:\n");

for (int i = 0; i < n; i++){

for (int j = 0; j < n; j++){

scanf("%d", &arr[i][j]);

}

}

// 打印矩阵

printf("该矩阵为:\n");

for (int i = 0; i < n; i++){

for (int j = 0; j < n; j++){

printf("%d ", arr[i][j]);

}

printf("\n");

}

// 逆置矩阵

for (int i = 0; i < n; i++){

for (int j = 0; j < i; j++){

int temp = arr[i][j];

arr[i][j] = arr[j][i];

arr[j][i] = temp;

}

}

// 打印逆置后的矩阵

printf("逆置后矩阵为:\n");

for (int i = 0; i < n; i++){

for (int j = 0; j < n; j++){

printf("%d ", arr[i][j]);

}

printf("\n");

}

// 释放动态分配的内存

for(int i = 0; i < n; i++){

free(arr[i]);

}

free(arr);

return 0;

}

运行截图:

相关数据

坦克世界360更新慢怎么解决
365bet提款规则

坦克世界360更新慢怎么解决

📅 07-14 👁️ 7670
YouTube上如何开启儿童模式或使用 YouTube Kids?
365足彩推荐

YouTube上如何开启儿童模式或使用 YouTube Kids?

📅 07-03 👁️ 2922