【发布时间】:2016-06-28 04:54:21
【问题描述】:
假设我有一个二维数字数组:
int a[WEEK][DAY] = {367, 654, 545, 556, 565, 526, 437,
389, 689, 554, 526, 625, 537, 468,
429, 644, 586, 626, 652, 546, 493,
449, 689, 597, 679, 696, 568, 522,
489, 729, 627, 729, 737, 598, 552};
如何计算每列的平均值?例如, (367+389+429+449+489)/5=424.6 等等。我已经想出了如何计算每一行的平均值,但我在为每一列做这件事时遇到了困难。 这是我到目前为止所拥有的:
#include <stdio.h>
#define WEEK 5
#define DAY 7
int main() {
/* or int a[][DAY] = {367, 654, 545, 556, 565, 526, 437, */
int a[WEEK][DAY] = {367, 654, 545, 556, 565, 526, 437,
389, 689, 554, 526, 625, 537, 468,
429, 644, 586, 626, 652, 546, 493,
449, 689, 597, 679, 696, 568, 522,
489, 729, 627, 729, 737, 598, 552};
int i, j, weektotal, total = 0;
double meanval;
printf("Week Mean hit\n");
printf("-------------\n");
for(i = 0; i < WEEK; i++) {
weektotal = 0;
for(j = 0; j < DAY; j++) {
weektotal += a[i][j];
total += a[i][j];
}
meanval = (double)weektotal/DAY;
printf(" %d%10.2f\n", i+1, meanval);
}
return 0;
}
当前代码计算 5 行中每一行的平均值。
【问题讨论】: