PAGE
PAGE 14
信息管理与信息系统专业
《C语言编程实践》总结报告
系统名称: 歌手评分统计系统的设计与实现
姓 名: _ 胡荣荣____________
学 号:_________23107__________
班 级:_________1403班___________
指导教师:________ _闫会娟___________
年 12 月
1.要求
通过本专业实践活动,使学生达到如下要求:
= (1) (1)能够根据实际问题,抽象出计算机处理的求解方法;
= (2) (2)正确运用C语言中的程序语句、控制结构、数组、函数等,采用结构化程序设计方法,设计并实现歌手评分的统计功能;
= (3) (3)通过讨论,扩展程序设计的思路,提高对C语言程序设计的理解。
2.系统功能说明
(1)系统中歌手和评委的人数不固定,但歌手最多100名,评委最多10人;
(2)录入每名歌手的编号(或姓名)及每名评委的打分(采用10分制,评委打分最多两位小数),并保存数据;
(3)去掉一个最高分和一个最低分后,求每名选手的平均分;
(4)按平均分由高到低的顺序对选手成绩进行排序,并保存数据;
(5)按下面的运行结果样式输出结果,对提示性的语句不限语言(中英文)及格式;
请输入1号歌手的姓名:小王
请输入1号歌手的得分:8.20 5.23 7.55 4.22 4.22
......
本次歌手大赛的结果公布如下:
名次 歌手号 歌手姓名 最终得分
1 2 小李 9.60
......
(6)要求考虑两人名次并列的情况,并显示如下(三人及以上并列不作要求):
名次 歌手号 歌手姓名 最终得分
1 2 小李 9.60
1 4 小张 9.60
3 3 小王 9.55
......
3.程序模块的划分
3.1程序的模块结构图
程序可分为四个模块:录入评委打分、计算选手平均分、选手成绩排序、显示评分结果(如下图所示)。如划分更细模块,可更改下图。
歌手评分系统
歌手评分系统
8
8
7654321
7
6
5
4
3
2
1
1:输入歌手和评委的人数。 5:求平均分。
2:输入歌手姓名。 6:平均分排序。
3:录入歌手的得分。 7:对歌手进行排名。
4:求最高分和最低分。 8:输出结果。
3.2 程序总体设计说明(函数名称、参数(名称、类型、功能)、功能、函数与函数间的调用关系等)
函数: main函数,averScore函数,QZGFZDF函数,paiMing函数。
参数:int gsNum,pwNum,i,j,; //定义歌手人数,评委人数//
float hscore[100]; //用于存放每位歌手的最高分//
float lscore[100]; //用于存放每位歌手的最低分//
float score[100][100]; //用于存放所有歌手的所有分数//
float temp; //用于交换分数的中间变量//
float aver[100]={0}; //平均分并初始化//
char name[100][15]; //用于存放姓名//
int paiming[100]; //存放歌手排名//
功能:录入每名歌手的编号及每名评委的打分(采用10分制,评委打分最多两位小数),并保存数据;去掉一个最高分和一个最低分后,求每名选手的平均分;按平均分由高到低的顺序对选手成绩进行排序,并保存数据。
函数与函数间的调用关系是 :main函数中调用了averScore函数,QZGFZDF函数,paiMing函数
4.编程与调试
4.1 主函数(主模块)的编程与调试
4.1.1 主函数的程序流程图
求出选手的最高分和最低分hscore,
求出选手的最高分和最低分hscore,lscore
开始
提示输入歌手和评委人数gsNum,
提示输入歌手和评委人数gsNum,pwNum
求出
求出去掉最高分与最低分的平均分averScore
i=0
i=0
j=0i
j=0
i
j=j+1&&i=i-1