#include
int main()
{
int i, k, m;
float average, max, min, sum = 0.0, a[9];
printf ("输入9位评委的评分:\n");
for (i=0; i<9; i++)
scanf ("%f", &a[i]);
max = min = a[0];
k = m = 0;
for (i=0; i<9; i++)
{
if (a[i] > max)
{
max = a[i]; //找出最大值和最大值下标
k = i;
}
if (a[i] < min)
{
min = a[i]; //找出最小值和最小值下标
m = i;
}
}
printf ("去掉一个最高分和一个最低分:\n");
for (i=0; i<9; i++)
if (i!=k && i!=m) //遇到最高分和最低分不输出,不计算
{
printf ("%.2f ", a[i]);
sum += a[i];
}
average = sum / 7;
printf ("\n该选手的平均分是:%.2f\n", average);
return 0;
}
对于分数排序,排序后去掉头尾的数
不就是求最大值 最小值问题么