《歌星大奖赛评分系统》由会员分享,可在线阅读,更多相关《歌星大奖赛评分系统(5页珍藏版)》请在金锄头文库上搜索。
1、一、题目要求(1)在歌星大奖赛中,有10 个评委为参赛的选手打分,分数为1 100 分。选手最后得分为:去掉一个最高分和一个最低分后其余8 个评委的平均分数。请编写一个程序实现。( 2)同时对评委评分进行裁判,即在 10 个评委中找出最公平(即评分最接近平均分)和最不公平(既与平均分的差距最大)的评委。二、需求分析题目要求去掉最高分和最低分,因此对评委的分数应该全部进行比较,同时题目要求找出最公平的评委和最不公平的评委,换句话说就是要找出与平均分最接近的分数和相差最大的分数,但是在这里遇到的困难是,有可能两个评委的分数是一样的,故有可能出现两个最公平的评委或两个最不公平的评委的情况。三、总体设
2、计此题较为简洁,基本操作在主函数内即可完成,不需要分成几大模块,根据上面需求分析,可以将此系统分为主要的两部分:输入评委分数、计算评分结果。输入评委分数歌星大奖赛评分系统计算评分结果四、详细设计 : 程序 #include*/主函数 int main()/*int i;int integer,average,sum,max,min,max1,min1;*/ /*定义int a10;max= -32768;min=32767;sum=0;for(i=1;imax)max=integer; /*找出最大值*/if(integermin)min=integer; /*找出最小值 */average=
3、(sum- max-min)/8;/*求得平均值*/printf(Canceled max score:%dnCanceled min score:%dn,max,min);printf(Average score:%dn,average);/*输出最大值、最小值和平均值*/min1=32767;for(i=0;i10;i+)if(abs(ai -average)min1)min1=abs(ai-average);/*求得最接近平均分分数与平均分之间的差值 */for(i=0;i10;i+)if(abs(ai -average)=min1)printf(With evenly divides
4、equally the closest score is:%dn,ai);printf(he fairest appraisal committee is number:%dn,i+1);/*求出所有等于最接近差值的分数和评委编号*/max1= -32767;for(i=0;imax1)max1=abs(ai-average);/*求得远离平均分分数与平均分之间的差值 */for(i=0;i10;i+)if(abs(ai -average)=max1)printf(With average minute phase difference biggest scoreis:%dn,ai);printf(he unfairest appraisal committee is number:%dn,i+1);/*求出所有等于最远离差值的分数和评委编号*/五、文件操作1.把文件在TC 环境下打开;2.运行,输入评委分数,每行输入一个评委的分数;3.查看结果以下是界面图:2007 年 C 语言课程设计实习报告(二)歌星大奖赛评分系统NO.1 :等待输入评委分数:NO.2 :评委分数输入完毕2007 年 C 语言课程设计实习报告(二)歌星大奖赛评分系统NO.3 :查看运行结果