将军的荣耀太平洋存档:C语言求助,大家看一下那里错了???

来源:百度文库 编辑:中科新闻网 时间:2024/05/02 01:34:53
C语言求助,大家看一下那里错了???
用不同的数计算时,平均值都是错误的!!!!!

在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现,用数组!!!
#include <stdio.h>
#include <math.h>
void main()
{
int i,max,min,sum;
float a[11],average;
max=0;
min=100;
sum=0;
average=0;
for (i=1;i<=10;i++)
{
scanf("%f",&a[i]);
if (a[i]>max) max=a[i];
if (a[i]<min) min=a[i];
sum=sum+a[i];
}
average=(sum-max-min)/8;
printf(" max=%d\n min=%d\n sum=%d\n average=%f\n",max,min,sum,average);
}

average=(float)(sum-max-min)/8;
试一下

修改如下:
#include <stdio.h>
#include <math.h>
void main()
{
int i,max,min,sum;
float a[11],average;
sum=0;
average=0;
for (i=1;i<=10;i++)
{

scanf("%f",&a[i]);
if(i==1)
max=min=a[i];
else{
if (a[i]>max) max=a[i];
if (a[i]<min) min=a[i];
}
sum=sum+a[i];
}
average=(float)(sum-max-min)/8;
printf(" max=%d\n min=%d\n sum=%d\n average=%f\n",max,min,sum,average);
}