C语编程:20个分数去掉2个最高2个最低再求平均值
来源:百度知道 编辑:UC知道 时间:2024/06/14 01:06:04
是分别去2个
代码如下:
#include<stdio.h>
#define n 5
void main()
{
int f[n],i,j,t,sum;
for (i=0;i<n;i++)//输入n个分数,带保护
{
do{
printf("输入第%d个分数\t",i+1 );
scanf("%d",&f[i]);
}while (f[i]<=0 || f[i]>100);
}
for(i=0;i<n-1;i++)//排序n个分数
for(j=i+1;j<n;j++)
{
if (f[i]<f[j])
{t=f[i];f[i]=f[j];f[j]=t;}
}
printf("分数排序:\n");//输入分数排序结果
for(i=0;i<n;i++)
printf("%d ,",f[i]);
printf("\n");
sum=f[2];//求去掉2个最高分和2个最低分的总分
for(i=3;i<n-2;i++)
sum=sum+f[i];
printf("去掉2个最高分和2个最低分之后的平均分=%f\n",sum/(n-4)*1.0);
}
说明:n=5看下面图方便些,你可以把第2句该改成#define n