请高手帮忙做道C语言初期的小题目

来源:百度知道 编辑:UC知道 时间:2024/05/13 05:30:39
题目如下。
学校组织唱歌,电脑自动出成绩。
有多少个评委由用户自己输入。
每个评委对这首歌都会打出相应的分数
去掉一个最高分,去掉一个最低分,中间的分数取平均值
最后输出
输出格式如下。
最高分 XXX
最低分 XXX
平均得分 XXX

求高手帮个忙,我是新手,郁闷了。

#include"stdio.h"
int main(void)
{
int i,index,k,n;
float temp,grade,sum;
float a[20];//定义一个数组a,最多存储20个成绩

printf("输入评委个数(不超过20)n:");
scanf("%d",&n);
printf("输入%d个评委打出的分数:",n);

for(i=0;i<n;i++)//将输入的成绩依次赋给数组a的n个元素a[0]~a[n-1]
scanf("%f",&a[i]);

for(k=0;k<n-1;k++)//用选择法对这n个分数按从小到大的顺序排序
{
index=k;
for(i=k+1;i<n;i++)
if(a[i]<a[index])
index=i;
temp=a[index];
a[index]=a[k];
a[k]=temp;
}

sum=0;//初始化sum
for(i=1;i<n-1;i++)//求去除最高分a[n-1] 和最低分a[0]后的和
sum=sum+a[i];
grade=sum/(n-2);
//输出结果
printf("最高分: %.2f\n",a[n-1]);
printf("最低分: %.2f\n",a[0]);
printf("平均得分: %.2f\n",grade);
return 0;
}