c语言输入一组数求平均值

我打出的代码显示编译错误可能是取整或者其他问题,
输出格式:
第一行输出最低分和最高分,最低分和最高分之间用一个空格隔开,若成绩为小数则向上取整,例如89.4输出90,第二行输出平均分。
注意:平均分保留两位小数

img


#include "stdio.h"
main()
{
 int i,j,x,y;
 float sum=0,avr=0,max=0,min=0,a[1000];
 printf("请输入该班同学的某科成绩,每两个成绩中间用空格隔开!\n");
 for(i=1;;i++)
 {
  scanf("%f",&a[i]);
  if(a[i]>=0)
   sum+=a[i];
  else
   break;
 }
 avr=sum/(i-1);
 min=a[1];
 y=1;
 for(j=1;j<i;j++)
 {
  if(max<a[j])
  {
   max=a[j];
   x=j;
  }
  if(min>a[j])
  {
   min=a[j];
   y=j;
  }
 }
 printf("平均分为%.2f分!\n",avr);
 printf("最高分是%.2f分!相应的序号为%d",max,x);
 for(j=1;j<i;j++)
  if(x!=j&&a[j]==max)
   printf("和%d",j);
 printf("\n");
 printf("最低分是%.2f分!相应的序号为%d",min,y);
 for(j=1;j<i;j++)
  if(y!=j&&a[j]==min)
   printf("和%d",j);
 printf("\n");
}