给一组测试数据84 75 86 59 25 94 76 84 15 65,J为什么是0


#include <stdio.h>
float Max=0;
int J=0;
float fun(float array[],int n);
int main()
{
float  a[10],ave;
int i=0;
for(i=0;i<10;i++)
scanf("%f",&a[i]);
ave=fun(a,10);
printf("ave=%.2f\n",ave);
printf("max=%.02f\n",Max);
printf("Total:%d\n",J);
return 0;
 }
float fun(float array[],int n)
{
    double sum=0;
    double temp,t;
    int i;
    for(i = 0;i<n; i++)
    {
        sum+=array[i];
    }
    for(i = 0,temp=array[0];i<n;i++)
    {
        if(array[i]>temp)
        {
            t=temp;
            temp=array[i];
            array[i]=t;
        }
    }
    Max = temp;
    for(i = 0;i<n;i++)
    {
        if(array[i]==Max)
        J++;
    }
    return sum/n;
}

float fun()函数修改如下,供参考:

float fun(float array[],int n)
{
    double sum=0;
    double temp,t;
    int i;
    for(i = 0;i<n; i++)
    {
        sum+=array[i];
    }
    for(i = 0,temp=array[0];i<n;i++)
    {
        if(array[i]>temp)
        {
                                    //t=temp;
            temp=array[i];
                                   //array[i]=t;
        }
    }
    Max = temp;
    for(i = 0;i<n;i++)
    {
        if(array[i]==Max)
        J++;
    }
    return sum/n;
}

数组被你改了,找不到原来最大值了,不知道你这程序是用来干嘛的