1、 课 程 设 计 课程名称 C 语言课程设计语言课程设计 题 目 _ 专 业 _ 班 级 _ 学 号 _ 姓 名 _ 成 绩 _ 指导教师 _ _年_ 月_日 课程设计任务书课程设计任务书 设计题目:设计比赛评分系统 (给分原则:满分为 10 分;裁判给出分数后,去 掉一个最高分和一个最低分后的平均分为选手的最后得分(精 确到小数点后两位) 。) 设计目的: 1. 巩固和加深课堂所学知识; 2. 将课本上的理论知识和实际应用有机的结合起来, 培养同学们分析和解决实际问 题的能力; 3. 学会编制结构清晰、风格良好、数据结构选择恰当的 C 语言程序; 设计任务: (在规定的时间内完成下列任务)
2、功能功能: 1、设参赛人数为 为裁判人数为 (不少于 11 的奇数)位, 2、录入参赛人员的资料和得分情况好,统计最后得分, 3、按最后得分结果从高分到低分排序, 4、公布一、二、三等奖的得奖选手名单。 5、 此系统能够查询选手的得分情况。 具体要求:设计报告按统一撰写格式要求,应包含以下内容: 1、题目: 2、设计目的: 2、设计内容:写出简要的程序功能描述、程序运行条件所需工具软件、输入/输 出描述等。 3、程序结构: 函数定义说明; 用到的库函数(宏)的功能说明、调用 关系说明、参数传送方式说明等; 主要算法描述等(各模块功能实现) 。 13、设计要求:绘制设计系统的结构层次图,各功能实
3、现的算法、绘制结构 化流程图。程序流程图、源程序(程序必须有简单注释,源程序若太长,可作 为附录)设计输入、输出界面。 (输出) 5、 (1)程序结构设计特点; (2)设计、调试程序心得、体会或不足。 设计报告:设计报告: (一)主程序的流程(一)主程序的流程 程序先通过宏定义符号常量 N(选手数) ,M(评委数) ,P(评分选项数)的值分别为 19,17,13.这样不仅简单不易出错,而且便于常量的更改,只需改变#include 命令行就可以 一改全改。 接着定义了评委评分,选手得分和选手姓名的数组以便最终将选手最后得分与姓名对 应。 进入程序主体, 要想将比赛结果完整的输出, 我们必须要让程
4、序在将评委得分与选手姓 名输入时自动计算出选手最终得分以及实现名次排序与姓名的一一对应。 为了实现 19 位选手得分的正确录入,先用 for 循环嵌套通过评委数量与选手数量控制 评分项的完整输入,再用 scanf 语句对应二维数组 a使评分与选手结合,在 k=N 时跳出循 环,至此评分录入完毕。评分录入后还得计算出选手最终得分。为了去掉一个最高分,一个 最低分,程序调用自编函数 sort 将评分按大小排序,接着调用 average 函数去除一个最高分 与最低分算出选手最终得分。 最后将选手得分排序。 公布获奖结果时还必须出现选手的姓名。 接着再用一个 for 循环通过 k 控制姓名数量,通过 scanf 函数实现选手姓名的录入,在 kM 2=P 0=P 0=i