程序设计实训项目二 歌手大奖赛计分程序

来源:互联网 发布:行业精英知乎 编辑:程序博客网 时间:2024/05/17 05:07

1.       题目描述

歌手大奖赛计分程序

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

要求利用一个函数voidcalScore(int n),对一位选手成绩的输入成绩、计算和显示实现,其中n为评委人数。这样,在main函数调用时,需要将输入的评委人数n作为实参。

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


/*烟台大学计算机学院 2016作者: 马春澎完成日期:2017年1月4日 */#include <stdio.h>#include <stdlib.h>void calScore(int n);//定义函数int main(){    int n;    char choose,huanhang;    do    {        system("cls");//清空屏幕数据        printf("输入评委人数(大于2人):");//因为要减去最高分和最低分所以评委数应大于2人        scanf("%d",&n);        if(n<3)            continue;//输入的数小于3时,循环重新执行        calScore(n);//进入函数        printf("按N或n退出,其他键继续...\n");        scanf("%c%c",&huanhang,&choose);//输入换行后再进行操作    }    while(choose!='n'&&choose!='N');//当选择n或N时跳出循环    return 0;}/*************************************************************功能描述:输入选手得分,并处理,输出最终得分输入参数:n—评委人数返 回 值:无其他说明:无*************************************************************/void calScore(int n){    float score,max=-1,min=11,end_Score,sum_Score=0;//先定义最高分为-1,最低分为11    int i,count=0;    printf("请输入选手的成绩(0-10)\n");    for(i=1; i<=n; i++)    {        while(1)//死循环        {            printf("第 %d 位评委给分:",i);            scanf("%f",&score);            if(score<0||score>10)//分数小于0或大于10时执行空语句,循环继续执行            {            }            else            {                if(max<score)                    max=score;                if(score<min)                    min=score;                sum_Score=score+sum_Score;                count++;            }            if(i==count) break;//当输入的数和评委数相同时跳出循环        }    }    end_Score=(sum_Score-max-min)/(n-2);//最后得分    printf("减去一个最高分:%.2f, 减去一个最低分:%.2f\n",max,min);    printf("当前选手的最后得分为:%.3f\n",end_Score);//输出最后得分    printf("************************************SUCCESS************************************\n");}


知识点总结

循环的综合应用

学习心得

要注意输入的数小于0或大于10时对数据的处理,要重新输入正确的数。


0 0
原创粉丝点击