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