用c语言编写函数将一个4×4矩阵转置并把每列的最大值放到数组b中
时间: 2023-06-23 16:08:29 浏览: 118
用C语言实现矩阵的转置
以下是用C语言编写的函数,实现矩阵转置和每列最大值放入数组b中的功能:
```c
void transpose(int a[][4], int b[]){
int i, j, max;
// 转置矩阵
for(i = 0; i < 4; i++){
for(j = 0; j < 4; j++){
b[i*4+j] = a[j][i]; // 把转置后的矩阵存入数组b中
}
}
// 找出每列的最大值并存入数组b中
for(i = 0; i < 4; i++){
max = b[i]; // 假设第i列的第一个元素为最大值
for(j = 1; j < 4; j++){
if(b[i*4+j] > max){
max = b[i*4+j]; // 更新最大值
}
}
b[16+i] = max; // 把每列的最大值存入数组b的后4个元素中
}
}
```
函数使用方法:
```c
int main(){
int a[4][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
int b[20];
transpose(a, b);
// 输出转置后的矩阵
for(int i = 0; i < 4; i++){
for(int j = 0; j < 4; j++){
printf("%d ", b[i*4+j]);
}
printf("\n");
}
// 输出每列的最大值
for(int i = 0; i < 4; i++){
printf("第%d列的最大值为:%d\n", i+1, b[16+i]);
}
return 0;
}
```
阅读全文