这个简单的编程为什么错了啊,我初学

#include <stdio.h>
int main()
{ char a[25]= {0.0},sum=0.0,summ=0.0,ave=0.0,i=0,j;
scanf("%f",&a[i]);
sum=a[i];
while(a[i]!=-1)
{
i++;
scanf("%f",&a[i]);
sum+=a[i];
};
printf("共输入实数个数%d",i);
int max=a[0],min=a[0];
for(j=0;j<i;j++)
{
if(a[j]>max) max=a[j];
if(a[j]<min) min=a[j];
}
printf("最大值%.1f",max);
printf("最小值%.1f",min);
summ=sum-max-min+1;
ave=summ/i;
printf("平均值%.1f",ave);
}


#include <stdio.h>
int main()
{ float a[25]= {0.0},sum=0.0,summ=0.0,ave=0.0,i=0,j;
scanf("%f",&a[i]);
sum=a[i];
while(a[i]!=-1)
{
i++;
scanf("%f",&a[i]);
sum+=a[i];
};
printf("共输入实数个数%d",i);
int max=a[0],min=a[0];
for(j=0;j<i;j++)
{
if(a[j]>max) max=a[j];
if(a[j]<min) min=a[j];
}
printf("最大值%.1f",max);
printf("最小值%.1f",min);
summ=sum-max-min+1;
ave=summ/i;
printf("平均值%.1f",ave);
}

#include<stdio.h>

int main()
{ 
    
    int a[25]= {0.0},sum=0.0,summ=0.0,ave=0.0,i=0,j;
    scanf("%d",&a[i]);
    sum=a[i];
    while(a[i]!=-1)
    {
        i++;
        scanf("%d",&a[i]);
        sum+=a[i];
    };
    printf("共输入实数个数%d",i);
    int max=a[0],min=a[0];
    for(j=0;j<i;j++)
    {
        if(a[j]>max) max=a[j];
        if(a[j]<min) min=a[j];
    }
    printf("最大值%d",max);
    printf("最小值%d",min);
    summ=sum-max-min+1;
    ave=summ/i;
    printf("平均值%d",ave);
    
}