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

来源:互联网 发布:房屋格局设计软件 编辑:程序博客网 时间:2024/05/22 10:49
/*功能描述:歌手大奖赛计分程序(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 <stdio.h>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<min)                min=score;            sum+=score;        }        else        {            printf("\n");            printf("第%d位评委给分输入错误,请重新输入成绩!!!\n",i);            printf("\n");            i--;//再次获得该评委的编号        }   }    printf("减去一个最高分:%.2f",max);    printf("减去一个最低分:%.2f\n",min);    printf("当前选手的最后得分是:%.2f\n",sum-(min+max));}

0 0
原创粉丝点击