第一范文网 - 专业文章范例文档资料分享平台

C语言大赛现场评分系统

来源:用户分享 时间:2025/9/15 13:33:24 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

宜春学院数学与计算机科学学院

课程设计说明书

课 程 名 称: 计算机实训 课 程 代 码:

题 目: 大赛现场评分系统 年级/专业/班: 14计科1班 学 生 姓 名: 鄢剑涛 学 号: 1430101136 指 导 教 师: 马加清 开 题 时 间: 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] = pf[j] + (f[i*m+j] - sf[i]) * (f[i*m+j] - sf[i]); pf[j] = 10 - sqrt(pf[j] / n); pf[j]高的评委的评判水平高,依据m个评委的pf[j]值可打印出评委评测水平的高低的名次表。

三、程序代码

程序1大赛现场评分系统 #include #include #include

第1页

宜春学院数学与计算机科学学院课程设计

#define Athlete 40 #define Judge 20 /*

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

函数参数:整型数组sh,存放选手的编号 实型数组sf,存放选手的最后得分 整型变量n,存放参赛选手的人数 实型数组f,存放每个裁判给选手的评分 整型变量m,存放评委的人数 */

void CountAthlereScore(int sh[], float sf[], int n, float f[],int m ) { float Max, Min; int i, j; for (i = 1;i <= n; i++) { printf (\选手%d正在比赛\\n\ printf (\请输入选手的编号:\ scanf (\ sf[i] = 0; Max = 0; Min = 100; for (j = 1;j <= m;j++) { printf (\裁判%d给出的分数为:\ scanf (\ sf[i] = sf[i] + f[i*m+j]; if (Max < f[i*m+j]) { Max = f[i*m+j]; } if (Min > f[i*m+j]) { Min = f[i*m+j]; } } printf (\去除一个最低分:%.3f\\n\ printf (\去除一个最低分:%.3f\\n\ sf[i] = (sf[i] - Max - Min ) / (m -2); printf (\选手-的最终得分为%.3f\\n\

第2页

宜春学院数学与计算机科学学院课程设计

printf (\ } } /*

函数功能:对分数从高到低排序 函数参数:整型函数h,存放编号 实型数组f,存放最后得分 整型变量n,存放参评人数 */

void Sort (int h[], float f[], int n) { int i, j, k, temp2; float temp1; //用选择排序法对选手的最终成绩进行排序 for (i = 1; i <= n-1; i++) { k = i; for (j = i+1; j <= n; j++) { if (f[j] > f[k]) { k = j; } if (i != k) { //交换分数 temp1 = f[k]; f[k] = f[i]; f[i] = temp1; //交换编号 temp2 = h[k]; h[k] = h[i]; h[i] = temp2; } } } //for (i = 1;i <= n; i++) //{ // printf (\编号:%d,成绩:%.3f\\n\ //} }

第3页

搜索更多关于: C语言大赛现场评分系统 的文档
C语言大赛现场评分系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4j8ww5ebrv47hq610ehx_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top