完整代碼:
//輸入一個 N*N 矩陣,并將矩陣轉(zhuǎn)置輸出
#include<stdio.h>
#include<stdlib.h>
int main(){
int n=0;
printf("請輸入矩陣的行數(shù):");
scanf("%d",&n);
//C語言不允許對數(shù)組的大小作動態(tài)定義
// int arr[n][n];直接定義是錯誤的
// 要使用malloc函數(shù)動態(tài)分配內(nèi)存
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");
}
// 釋放動態(tài)分配的內(nèi)存
for(int i = 0; i < n; i++){
free(arr[i]);
}
free(arr);
return 0;
}
運(yùn)行截圖:
文章來源地址http://www.zghlxwxcb.cn/news/detail-753691.html
文章來源:http://www.zghlxwxcb.cn/news/detail-753691.html
到了這里,關(guān)于C語言實現(xiàn)輸入一個 N*N 矩陣,并將矩陣轉(zhuǎn)置輸出的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!