```#include<stdio.h>
int main()
{
int a[7],temp;
float count=0.0;
while(scanf("%d%d%d%d%d%d%d",&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7])!=EOF)
{
for(int i=1;i<7;i++)
{
for(int j=1;j<7;j++)
{
if(a[j+1]>=a[j])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
for(int i=1;i<=7;i++)
{
if(i!=1&&i!=7)
{
count+=a[i];
}
}
printf("%.2f\n",count/5.0);
count=0; //这个在下面讲解一下为什么
}
}
好了,这道题的思路其实挺简单的,就是先循环输入七个数字,然后利用冒泡排序将七个数字进行排序,最后相加求平均值,所以我将这三个步骤分开。由于此时题目中声明有“多组输入”,所以就有了循环输入,但是呢,如果我们最后没有加count=0的话,就会导致一个问题的出现,就是下一组数据的平均值是加上了上一组数据的平均值所得到的值。所以加一个count=0是为了下一组数据准确输出。
可能表述的有一些模糊,请见谅。