编写函数add(int a[4][4],int b[]),将一个4×4矩阵转置并把每列的最大值放到数组b中 。

编写函数add(int a[4][4],int b[]),将一个4×4矩阵转置并把每列的最大值放到数组b中 。

#include <stdio.h>
void add(int a[4][4],int b[4]){

int i,j,k,max=0,temp=0;
for(i=0;i<4;i++){  //打印转置前的数组a
    for(j=0;j<4;j++){
        printf("%d",a[i][j]);
        printf("%s"," ");
    }
    printf("\n");
}
printf("\n");

for(i=0;i<4;i++){    //二维数组a转置
    for(j=i;j<4;j++){
        temp=a[i][j];
        a[i][j]=a[j][i];
        a[j][i]=temp;
    }
}
for(i=0;i<4;i++){
    for(j=0;j<4;j++){  //数组a转置后,每列最大值放入数组b
        if(a[j][i]>max) max=a[j][i];
    }
    b[k++]=max;
}

for(i=0;i<4;i++){  //打印转置后的数组a
    for(j=0;j<4;j++){
        printf("%d",a[i][j]);
        printf("%s"," ");
    }
    printf("\n");
}
printf("\n");
for(i=0;i<4;i++){  //打印数组b
    printf("%d",b[i]);
    printf("%s"," ");
}

}
int main () {
int test[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int b[4];
add(test,b);
return 0;
}

img