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