资源描述:
《编程实战(1).pptx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、编程实战大奖赛某大奖赛有n(n>=1)个选手参赛,m(m>2)个评委为选手打分(0~10)。统分规则为:在每个选手的m个得分中,去掉一个最高分和一个最低分,取平均分为选手最终得分。编程实现:(1)根据n个选手的最终得分,从高到低排定名次,前3名获得金、银、铜牌。(2)根据每个选手的最终得分计算每个评委为该选手打分的偏差,为全部选手所打分数的偏差之和作为该评委的得分,将所有评委的得分从低到高排序,第一名获得最佳评委奖。分析首先,大致描述程序流程输入选手得分计算选手最终得分计算评委得分计算评委最终得
2、分选手排名评委排名打印获奖选手名单打印获奖评委名单输入选手名单输入评委名单分析然后,分析程序要处理的数据选手用编号表示,为一个4位整数(1001~9999)评委也用编号,用3位整数(101~999)表示评委选手118158388565898…选手得分1234888.596…8.45234577.5868…7.68345699989…9……………………分析然后,分析程序要处理的数据选手用编号表示,为一个4位整数(1001~9999)评委也用编号,用3位整数(101~999)表示评委选手118158
3、388565898…12340.450.450.050.552.45…23450.680.180.321.680.32…345600010……………………评委得分4.573.551.354.657.84设计首先,设计出主要数据结构选手相关编号:iPlayerID[N]原始分:fPlayerScore1[N][M]最终得分:fPlayerScore2[N]评委相关编号:iJudgeID[M]原始分:fJudgeScore1[N][M]最终得分:fJudgeScore2[M]设计其次,划分程序模块,
4、细化程序流程把数据结构映射到每个模块输入选手编号:InputPlayerID(iPlayerID[N])输入评委编号:InputJudgeID(iJudgeID[M])输入选手原始分:InputPlayer(fPlayerScore1[N][M])计算选手最终得分:PlayerScore(fPlayerScore1[N][M],fPlayerScore2[N])选手排名:sortPlayer(iPlayerID[N],fPlayerScore2[N])计算评委原始分:JudgeScore1(fP
5、layerScore1[N][M],fPlayerScore2[N],fJudgeScore1[N][M])计算评委最终得分:JudgeScore(fJudgeScore1[N][M],fJudgeScore2[M])评委排名:sortJudge(iJudgeID[M],fJudgeScore2[M])打印选手排名:printPlayer(iPlayerID[N],fPlayerScore2[N])打印评委排名:printJudge(iJudgeID[M],fJudgeScore2[M])设计然
6、后,对模块进行分析综合输入选手编号和评委编号可用一个函数实现简化为:inputID(id[])选手排名、评委排名也可合并为一个函数(flag为0表示从低到高,为1表示从高到低)简化为:sort(id[],score[],flag)两个计算最终得分的函数能不能合并为一个?不能!为什么?计算选手最终得分、评委原始分和评委最终得分3个函数关系密切,可合并,同时可减少传递评委原始分fJudgeScore[N][M]简化为:voidCalScore(fPlayerScore1[N][M],fPlayerS
7、core2[],fJudgeScore2[M])设计再次,确认各模块的构成,并映射到程序流程输入编号:intInputID(intID[N])输入选手原始分:voidInputPlayer(floatfPlayerScore1[N][M])计算得分:voidcalScore(floatfPlayerScore1[N][M],floatfPlayerScore2[N],floatfJudgeScore2[M])排名:voidsort(intID[N],floatfScore[N],intflag)
8、打印选手排名:voidprintPlayer(intiPlayerID[N],floatfPlayerScore2[N])打印评委排名:voidprintJudge(intiJudgeID[M],floatfJudgeScore2[M])inputplayer()calScore()sort(Player)sort(judge)printPlayer()printJudge()inputID(player)inputID(Judge)设计可尝试设计出初步的主函数main(){n=inputID(