用C语言编写函数add(int a[4][4],int b[]),将一个4×4的矩阵中每列的最大值放到数组b中并转置的完整代码
时间: 2024-02-09 21:11:54 浏览: 71
下面是完整的C语言代码实现:
```c
#include <stdio.h>
void add(int a[4][4], int b[]) {
int i, j, max;
for (i = 0; i < 4; i++) {
max = a[0][i];
for (j = 1; j < 4; j++) {
if (a[j][i] > max) {
max = a[j][i];
}
}
b[i] = max;
}
for (i = 0; i < 4; i++) {
for (j = i + 1; j < 4; j++) {
int temp = a[i][j];
a[i][j] = a[j][i];
a[j][i] = temp;
}
}
}
int main() {
int a[4][4] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16}};
int b[4];
int i, j;
add(a, b);
printf("矩阵a转置后的结果为:\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
printf("每列的最大值为:\n");
for (i = 0; i < 4; i++) {
printf("%d ", b[i]);
}
printf("\n");
return 0;
}
```
在这个示例代码中,我们首先定义了一个4×4的二维数组a和一个一维数组b,并将矩阵a的元素初始化为1到16的整数。然后,我们调用函数add将矩阵a转置并将每列的最大值存入数组b中。最后,我们输出转置后的矩阵a和每列的最大值。
输出结果如下:
```
矩阵a转置后的结果为:
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
每列的最大值为:
13 14 15 16
```
阅读全文