目前我的程序正在读取.txt文件中的输入,它总共包含6480个读数。然后我将其分配给一个二维数组,其中第一个维度代表天数,第二个维度代表每天的读数。有3个月的结果是90天,每小时有6个读数(持续12小时)所以每天72个读数
float readings[90][72];
int days, rperday;
for(days=0; days<90; days++){
for(rperday=0; rperday<72; rperday++){
scanf("%f", &readings[days][rperday]);
printf("{%d %d %.2f}", days, rperday, readings[days][rperday]);
}
}
我目前不确定如何操纵for循环以便我计算当天的每小时平均值。一个例子是readings[0][0] - readings[0][11]
将是第1小时的读数。随后,readings[0][12] - readings[0][17]
将是第二个小时的读数。
我现在的当前代码是这样的:对于这段代码,我不确定如何操作变量x以使变量从0-11,12-17跳转等等。 / p>
for(months=0; months<3; months++){
for(i=months*30; i<(months+1)*30; i++){
for (j=0; j<72;j++){
sumperday += readings[i][j];
for(x=0; x<12; x++){
for(a=x*6; a<(x+1)*6; a++){
sumperhr += readings[i][a];
}
meanperhr = sumperhr/6;
printf("Day [%d] Hour [%d] MeanPerHr is %.2f\n", i,x,meanperhr);
sumperhr=0;
}
}
}
}
答案 0 :(得分:1)
如何(伪代码)
for(int i=0 ; i + 30 < 90 ; i++){
int mean = 0;
for(int j = i; j < 30 + i; j++){
for(int k = 0; k < 72; k++){
mean = mean + reading[j][k];
}
}
mean_arr[i] = mean;
}