查找某个数组的平均值

时间:2014-03-04 06:02:38

标签: c

我试图找到程序员喝的普通咖啡。我可以找到并显示平均值,但它似乎是错误的,它的显示方式。我无法设法提取显示平均值的最后一行。

char poste[]={'A','P','A','P','A','O','P','P','O'};
int nbCafe[]={3,5,2,1,7,1,0,3,2};
int progonly=0;
float progmoyenne=0;

for(i=0;i<9;i++){
   if (poste[i]=='P'){
       progonly+=nbCafe[i];
       progmoyenne=progonly/4.0;}
printf("%f\n",progmoyenne);}

执行给出了这个。(最后一行是平均喝咖啡):

0.000000
0.000000
0.000000
0.000000
0.000000
0.250000
0.250000
1.000000
2.250000

3 个答案:

答案 0 :(得分:0)

如果您只想显示平均值,则只需打印平均值即可。将printf移到for循环之外。

for(i=0;i<9;i++)
{
   if (poste[i]=='P')
   {
       progonly+=nbCafe[i];
       progmoyenne=progonly/4.0;
   }
}
printf("%f\n",progmoyenne);

答案 1 :(得分:0)

printf放在for循环之外。也请使用int i;

声明我

答案 2 :(得分:0)

试试这个:

for(cnt=i=0;i<9;i++){
    if (poste[i]=='P'){
        progonly+=nbCafe[i];
        progmoyenne=progonly/(float)++cnt;
        printf("%f\n",progmoyenne);
    }
}

输出:

$ ./a.out 
5.000000
3.000000
2.000000
2.250000