视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
C语言大赛现场评分系统
2025-09-30 23:26:05 责编:小OO
文档
  宜春学院数学与计算机科学学院

   课程设计说明书 

课 程 名 称:         计算机实训               

课 程 代 码:                                  

题       目:        大赛现场评分系统                       

年级/专业/班:       14计科1班                

学 生 姓 名:          鄢剑涛                    

学       号:        **********                 

指 导 教 师:******************************

开 题 时 间:    2014   年    12  月   28   日

完 成 时 间:    2014   年    12  月   29   日

一、设计任务与目的

以往各类大奖赛的报分与统分脱节,参赛选手的最后得分总要等到下一个选手赛完后才报,影响竞赛的正常节奏,也不能满足观众期待的心理。因此,为大奖赛编写一个现场统分的程序是很有必要的。

本程序很好的解决了这个问题。在各评委打分之后,就能及时通报评分结果。并且,在统计学生成绩的同时,为了给评委一个约束,有利于竞赛的公平公正性,增加了给评委女打分和排序功能。

本程序的任务:

1.大赛共有n个选手参赛,m(m>2)个评委一次为参赛选手评判打分,最高分为10分,最低为0分;

2.统分规则,在每个选手所得的m个得分中,去掉一个最高分,再去掉一个最低分,取平均分为该选手的最后得分;

3.根据n个选手的最后得分,从高到低排出名次表,以便获取获奖名单;

4.根据各选手的最后得分与各评委给该选手所评分的差距,对每个评委的评分准确性给出一个定量的评价。

二、设计方案

1.设置5个数组:sh[i]为第i个选手的编号,sf[i]为第i个选手的最后得分,ph[j]为第j个评委的编号,f[i][j]为第j个评委给第i个选手的评分,pf[j]为第j个评委的得分,作为评委水准的代表。

2.对n个参赛选手设置i循环(i从1变化到n);第i个选手上场,输入该选手的编号sh[i],在j循环(j从1变化到m)中依次输入第i个选手的m个得分f[i][j],每一个得分f[i][j]都累加到sf[i]中,同时比较:若f[i][j]>max,则max=f[i][j];若f[i][j]3.评委给选手评分存在误差,即f[i][j]≠sf[n]是正常的,也是允许的。但如果某个评委给的某个选手的评分与个选手得到的最后成绩相差太大,则说明该评委的评分有失水准。可用下面的公式计算结果作为各个评委评分水准的定量评价。    pf[j]高的评委的评判水平高,依据m个评委的pf[j]值可打印出评委评测水平的高低的名次表。

三、程序代码

程序1大赛现场评分系统

#include

#include

#include

#define Athlete 40

#define Judge 20

/*

  函数功能:统计参赛现场选手得分

  函数参数:整型数组sh,存放选手的编号

 实型数组sf,存放选手的最后得分

   整型变量n,存放参赛选手的人数

   实型数组f,存放每个裁判给选手的评分

   整型变量m,存放评委的人数

*/ 

void  CountAthlereScore(int sh[], float sf[], int n, float f[],int m )

{

  选手%d正在比赛\\n",i);

  请输入选手的编号:");

 

 

 

 

 

 

   裁判%d给出的分数为:", j);

  

  

  

  

   

  

  

  

   

  

  

 

  去除一个最低分:%.3f\\n",Max);

  去除一个最低分:%.3f\\n",Min);

 

  选手%2d的最终得分为%.3f\\n",sh[i], sf[i]);

 

}

/*

函数功能:对分数从高到低排序

函数参数:整型函数h,存放编号

 实型数组f,存放最后得分

  整型变量n,存放参评人数

*/

void Sort (int h[], float f[], int n)

{

 用选择排序法对选手的最终成绩进行排序 

 

 

 

  

  

   

  

  

  

    交换分数 

   

   

   

    交换编号

   

   

   

  

 

  编号:%d,成绩:%.3f\\n",h[i],f[i]);

/*

函数功能:对名次表进行打印

函数参数:整型数组h,存放编号

 实型数组f1,存放最后得分

  整型变量n,存放参评人员

*/ 

void Print (int h[], float f[], int n)

{

 排名\编号\成绩\\n");

 

}

/*

函数功能:统计评委的得分 

函数参数:整型数组ph,存放评委的编号

 实型数组pf,存放评委的得分

  整型变量m,存放评委的人数

  实型数组sf,存放选手的最后得分

  实型数组f:存放每个评委给选手的评分

  整型变量n,存放参赛选手的人数

*/

void CountJudgeScore(int ph[], float pf[], int m, float sf[],float f[],int n)

{

 以下几行均为计算pf[j],pf[j]高的裁判的评判水平高 

 

 

 

  

 

 

  裁判%d的分数为:%.3f\\n",j,pf[j]);

 

int main ()

{

 选手编号数组

    int ph[Judge];           //裁判编号数组

    float sf[Athlete];       //选手的最后得分 

    float pf[Judge];         //裁判的得分

 评委给选手的评分

 欢迎使用大赛现场评分系统 ************************\\n"); 

 请输入选手的人数:");

 

 请输入裁判的人数:");

 注:分数为十分制", j);

 

 选手的分数:\\n");

 对分数从高到低排序

 对名次表进行打印

 计算各位评委的分数 

 裁判的分数如下:\\n");

 对评委的分数进行排名及打印

 评委排名表*********\\n");

 评委得分排序

 打印评委排名

    printf ("         *************************            \\n\\n");

 系统结束,谢谢使用!!\\n\\n");

}

五、测试和运行

1.大赛评分系统

 

六、总结

这个程序为大赛现场统分系统,很好的能简化在比赛中计分过程,并且能够在选手比赛之后就把分数统计出来,而且能在比赛之后就把比赛的排名列出来,大大减少了因为计算排名的时间,而且,本系统最出色的一点就是测定各位评委的评分水准,这也同时保证了比赛的准确性,公平性,公正性。这个程序也很好的考察了c语言中的各个知识点,for循环语气,if-else判断语气,函数还有一维数组和二维数组的应用,还有的就是充分的考察了c语言综合能力,将数组和函数紧密的联系在一起,灵活地运用了c语言。该程序也有许多不足之处,例如选手和评委人员的个数有限,程序还不够简介明了,画面还不够精美等等。我相信,在今后的学习和练习中,会努力的提高自己的水平!

七、个人心得

 经过了短短的将近10天的实训,真的让我学到了许多东西,老师诙谐的讲课方式,活跃的课堂,无不让那呆板的课堂活跃了起来,最重要的是,我们在这快乐的学习中,学到了许多东西。在这课堂上,我们不再是像以前一样,简单的照着课本上抄程序,而是渐渐的学会了如何自己去敲程序,在练习中,也更加注重程序的书写规范,以及自己去查错,自己去写注释,自己也学到了查找一些bug的方法,在几个编写的项目中,也更加明白c语言的实用性和强大型,也更加让我明白c语言的重要性,当我写下自己的那个第一个程序hello world时,就让我走进了c语言的天地。在课堂中,也更加找到了c语言的乐趣,c语言是那么的富有乐趣,富有意义。下载本文

显示全文
专题