#include <stdio.h>
#include <stdlib.h>
float score[99];//成绩数据
int num=0;//评委数目
float sum=0;//总分
//输入打分数据并输出结果
void inputSc()
{
if(num==0)
{
printf("请您输入评委数目:");
scanf("%d",&num);
}
int i=0;
printf("请您输入%d位评委评分:\n",num);
for(i=0;i<num;i++)
{
scanf("%f",&score[i]);
}
//去掉最高分和最低分
avoidMax(score);
//输出结果
printf("平均分:%.2f\n",sum/num);
//恢复数目
if(num>2)
{
num = num+2;
}
}
//成绩处理模块
void avoidMax(float *score)
{
int i=0;
float max=*score,min=*score;
//寻找最高分、最低分
for(i=0;i<num;i++)
{
if(*(score+i)>max)
max = *(score+i);
else if(*(score+i)<min);
min = *(score+i);
}
//将最高分、最低分设置为0
for(i=0;i<num;i++)
{
if(num>2)
{
if(*(score+i)==max || *(score+i)==min)
{
*(score+i) = 0;
}
}
sum += *(score+i);
}
if(num>2)
{
num = num-2;
}
}
//主函数
int main()
{
char key;
while(key!='N'&&key!='n')
{
inputSc();
printf("按任意键继续下一选手成绩计算,退出请选择N:");
fflush(stdin);
key = getchar();
}
return 0;
}
如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢