平均はこのコードでは正しくありません。このコードで平均を解決する方法。私はすべてのことを試みますが、毎回同じことを試みます。最後の平均値のみを表示します。Cプログラムは平均を計算します
#include<stdio.h>
void compute(int anumber,int *max,int *min,float *average,int count);
int main()
{
int max=0,min=100;
float average=0;
int number,i=0;
printf("\nenter a number:");
scanf("%d",&number);
while(number>0){
i++;
compute(number,&max,&min,&average,i);
printf("\nenter a number:");
scanf("%d",&number);
}
printf("\naverage %.2f",average);
printf("\ncount %d",i);
printf("\nmin %d",min);
printf("\nmax %d",max);
return 0;
}
void compute(int anumber,int *max,int *min,float *average,int count)
{
float total;
total=total+anumber;
*average=total/count;
++count;
if(anumber>*max)
*max=anumber;
else if(anumber<*min)
*min=anumber;
}
"total"をローカル変数として書き込むことはできますか?私はこの変数をcompute()関数に使いたくない。 compute()関数は "void計算(int anumber、int * max、int * min、float * average、int count)"でなければなりません。 – Duncan