这串代码提示的错误怎么解决啊


#include"stdio.h"
float fun(float tt,int n,float *max,float *min);
int main()
{
    float arry[20],max,min;
    int n,i;
    printf("Please enter the array length:");
    printf("Please enter a value for each element:");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%f",&arry[i]);
    }
    fun(arry,n, max, min);
printf("average=%.2f,max=%.2f,min=%.2f"average,max,min);


}
fun(float *tt,int n,float *max, float *min)
{
    float average=0;
    for(int i=0;i<n;i++)
    {
        max=tt[0],min=tt[0];
        if(tt[i]<tt[i+1])  max=tt[i+1];
        else if(tt[i]>tt[i+1]) min=[i+1];
        average+=tt[i];
    }
    average=average/n;
}
    [Error] cannot convert 'float' to 'float*' in assignment

第3行fun函数的第一个参数类型和第20行的第一个参数类型不一致
第20行的fun函数前面也没有写返回值
错误太多了,不一一说了,代码修改如下:


#include"stdio.h"
float fun(float *tt,int n,float *max,float *min);
int main()
{
    float arry[20],max,min,average;
    int n,i;
    printf("Please enter the array length:");
    printf("Please enter a value for each element:");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%f",&arry[i]);
    }
    average=fun(arry,n, &max, &min);
    printf("average=%.2f,max=%.2f,min=%.2f",average,max,min);

}
float fun(float *tt,int n,float *max, float *min)
{
    float average=0;
    for(int i=0;i<n;i++)
    {
        *max=tt[0],*min=tt[0];
        if(tt[i]<tt[i+1])  *max=tt[i+1];
        else if(tt[i]>tt[i+1]) *min=tt[i+1];
        average+=tt[i];
    }
    average=average/n;
    return average;
}


fun(arry,n, &max, &min);
函数后两个参数要求是int*,所以max和min要取地址才行
另外第3行改成
float fun(float * tt,int n,float * max,float * min);
函数申明和函数实现必须一致
fun函数也不对,max和min是指针参数啊

#include <stdio.h>
float fun(float *tt,int n,float *max,float *min);
int main()
{
    float arry[20],max,min,average;
    int n,i;
    printf("Please enter the array length:");
    scanf("%d",&n);
    printf("Please enter a value for each element:");
    for(i=0;i<n;i++)
    {
        scanf("%f",&arry[i]);
    }
    average = fun(arry,n, &max, &min);
    printf("average=%.2f,max=%.2f,min=%.2f",average,max,min);
    return 0;
}
float fun(float *tt,int n,float *max, float *min)
{
    float average=0;
    *max=tt[0],*min=tt[0];
    for(int i=0;i<n;i++)
    {
        if(tt[i]>*max)  
              *max=tt[i];
        if(tt[i]<*min) 
              *min=tt[i];
        average+=tt[i];
    }
    average=average/n;
   return average;
}