编写函数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;
}