题目要求:
1、调用函数,实现矩阵的转置
#include <stdio.h>
#include<stdlib.h>
//二维数组的返回需要** 且需要为数组多次开辟内存空间
int** trans(int a[4][4]){
int t, **b;
b = (int **)malloc(4 * sizeof(int *));
for(int i = 0; i < 4; i++){
b[i] = (int *)malloc(4 * sizeof(int));
}
for(int i = 0; i < 4; i++){
for(int j = 0; j < 4; j++){
b[j][i] = a[i][j];
}
}
return b;
}
int main(){
int a[4][4] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}, t, **b ;
// for(int i = 0; i < 4; i++){
// for(int j = 0; j < 4; j++){
// scanf("%d", &a[i][j]);
// }
// }
b = trans(a);
printf("转置矩阵为:\n");
for(int i = 0; i < 4; i++){
for(int j = 0; j < 4; j++){
printf("%3d", b[i][j]);
}
printf("\n");
}
return 0;
}