3*4的二维数组,求各列的平均值放到另一个一维数组
时间: 2024-03-10 08:44:16 浏览: 77
可以使用两个循环来实现,第一个循环计算每列的和,第二个循环计算每列的平均值并将其存储到另一个一维数组中。以下是示例程序:
```c
#include <stdio.h>
int main() {
int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int sum[4] = {0};
float avg[4] = {0};
// 计算每列的和
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
sum[j] += arr[i][j];
}
}
// 计算每列的平均值
for (int j = 0; j < 4; j++) {
avg[j] = (float) sum[j] / 3;
}
// 输出结果
for (int j = 0; j < 4; j++) {
printf("Column %d average: %.2f\n", j + 1, avg[j]);
}
return 0;
}
```
输出结果为:
```
Column 1 average: 5.00
Column 2 average: 6.00
Column 3 average: 7.00
Column 4 average: 8.00
```
以上程序中,我们首先定义一个 3 行 4 列的二维数组 `arr`,用于存储数据。然后定义一个长度为 4 的一维数组 `sum`,用于存储每列的和。定义一个长度为 4 的一维数组 `avg`,用于存储每列的平均值。使用两个嵌套的 `for` 循环计算每列的和,并将其存储到 `sum` 数组中。然后使用另一个 `for` 循环计算每列的平均值,并将其存储到 `avg` 数组中。最后,使用一个 `for` 循环输出每列的平均值。
阅读全文