程序设计实训报告-歌手大奖赛计分程序

/*
功能描述:
歌手大奖赛计分程序
(1)在歌手大奖赛中,有n位评委为参赛的选手打分,分数为0~10分(运行时由人输入)。选手最后得分为:去掉一个最高分和一个最低分后其余分数的平均值。请编写一个程序,完成相关的功能。

要求利用一个函数void calScore(int n),对一位选手成绩的输入成绩、计算和显示实现,其中n为评委人数。这样,在main函数调用时,需要将输入的评委人数n作为实参。
(2) 进一步完善(1)的程序。输入时,难免有录入错误发生,如果输入的成绩不在0-10之间,要求用户立即重新输入(在函数calScore中修改);一次运 行程序只计算一位选手成绩太麻烦,要求输出当前选手的最后得分后,提示“按任意键计算下一位选手的成绩,退出请选择N:”如果输入的不是N或n,可以为下 一位选手计算成绩(在main函数中进行控制即可)。

输入参数:
c表示判断是否再次进行运算的字符,即:char c;
min和max分别表示最低分和最高分,即:double max,min;
n表示输入的评委数,即:scanf(“%d”,&n);
sum表示该选手的总分,即:sum+=score;

返 回 值:0
其他说明:无
*/
#include 
void calScore(int n);
int main()
{
    int n;//裁判人数
    char c;//判断是否再次进行运算的字符
    do//首先进行一次运算,再由while进行判断是否再次进行运算
    {
        printf("输入评委人数:");
        scanf("%d",&n);
        printf("请输入选手的成绩(0-10)\n");
        calScore(n);
        printf("**************SUCCESS**************\n");
        printf("按N或n退出,其他键继续...");
        fflush(stdin);
        scanf("%c",&c);
        printf("\n");
    }
    while(c!='n'&&c!='N');//若输入字符不为n且不为N则再次进行运算
    return 0;
}
void calScore(int n)
{
    int i;
    double min=10,max=0,score,sum;
    for(i=1; i<=n; i++)
    {
        printf("第%d位评委给分:",i);
        scanf("%lf",&score);
        if(score>=0&&score<=10)//判断输入的分数是否正确
        {
            if(score>max)
                max=score;
            if(score

你可能感兴趣的:(程序设计实训报告-歌手大奖赛计分程序)