C语言编代码的问题,急!急!急!

来源:百度知道 编辑:UC知道 时间:2024/06/20 18:37:08
我这有段代码,要求是输入六个数,先去掉最大和最小值,然后再求剩余四个数的和还有平均数,还有就是要冒泡的方法,哪位会,给修改下,谢谢了!!!!

#include <stdio.h>
#include <conio.h>
void main()
{
float a[6],sum,avg,t;
int i,j;
for(i=0;i<6;i++)
{scanf("%f",&a[i]);}
for(i=0;i<5;i++)
{
for(j=0;j<5-i;j++)
{
if(a[j]>a[j+1])
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(i=0;i<5;i++)
{sum=sum+a[i];}
avg=sum/4;
printf("总分为%f",sum);
printf("平均分为%f",avg);

getch();
}

一定要冒泡么?又不是排序
#include <stdio.h>
#include <conio.h>
void main()
{
float a[6],sum=0,t,max=-1,min;
int i,j;
for(i=0;i<6;i++)
{scanf("%f",&a[i]);}
min = a[0];
for(i=0;i<6;i++)
{max= max>a[i]?max:a[i];
min= min<a[i]?min:a[i];
sum+=a[i];
}
sum-=min+max;
printf("Sum=%f\n",sum);
printf("Average=%f",sum/4);

getch();
}

for(i=0;i<5;i++)
{sum=sum+a[i];}
avg=sum/4;
printf("总分为%f",sum);
printf("平均分为%f",avg);

最后这部分少了去掉最大值最小值的操作,按冒泡法排好序后,只计算数组中间的四个数就行了。你上面的代码是加了前5个:(
把以上部分修改为:

float sum=0.0;
float avg=0.0;

/*注意下面的修改,只加a[1],a[2],a[3],a[4];忽略a[0],a[5]*/

for(i=1;i<5;i++)
{sum=sum+a[i];}
avg=sum/4;
printf("总分为%f",sum);
printf("平均分为%f",avg);

#include <stdio.h>
#inclu