回 帖 发 新 帖 刷新版面

主题:[讨论]求帮助,输出结果不正确

#include<stdio.h>
   float Max=0, Min=0;
   void main()
{
   float average(float array[],int n);
   float ave,score[10];
   int i;
   
   for(i=0;i<10;i++)
       scanf("%df",&score[i]);
       ave=average(score,10);
   printf("max=%f\nmin=%f\naverage=%f\n",Max,Min,ave);
}
float average(float array[],int n)
{
   int i;
   float aver,sum=array[0];
         Max=Min=array[0];
   for(i=1;i<n;i++)
   {
   if(array[i]>Max) Max=array[i];
   else if(array[i]<Min) Min=array[i];
      sum=sum+array[i];
   }
      aver=sum/n;
return(aver);
}

回复列表 (共3个回复)

沙发

你只返回了平均值吧??

板凳

#include<stdio.h>

float average(float array[],int n);
float Max=0, Min=0;

int main()
{
    float ave,score[10];
    int i;
    for(i=0; i<10; i++)
        scanf("%f",&score[i]);
    ave=average(score,10);
    printf("max=%0.3f\nmin=%0.3f\naverage=%0.3f\n",Max,Min,ave);
    return 0;
}

float average(float array[],int n)
{
    int i;
    float aver,sum=0.0;
    Max=Min=array[0];
    for(i=0; i<n; i++)
    {
        if(array[i]>Max)
            Max=array[i];
        else if(array[i]<Min)
            Min=array[i];
        sum=sum+array[i];
    }
    aver=sum/n;
    return aver;
}

执行sum = sum + arry[i]时,sum必须为初值0;[/color]
for(i=1; i<n; i++)时n-1个值,不是n个值。

3 楼

谢了

我来回复

您尚未登录,请登录后再回复。点此登录或注册