您的位置:首页 > 编程语言 > C语言/C++

C语言课程设计:歌手大奖赛计分程序

2017-01-04 16:32 218 查看
1. 题目描述

编写一个程序,用户输入评委人数和分数后,程序可以计算去掉一个最高分和最低分后的平均成绩。可多次输入选手成绩,输入N时退出程序。

2. 源代码

#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;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: