欢迎来到天天文库
浏览记录
ID:37920672
大小:47.00 KB
页数:6页
时间:2019-06-02
《C++对参赛结果进行分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、三11.对参赛结果分数进行处理:参赛选手n人(n>1),评委m人(m>2),评委给每一选手打一个分数score(分数score为小于等于10的一个正实数)。选手的最后得分lastScore计算方法为(1)m<9时,去掉一个最高分和一个最低分后另m-2个得分的平均值。(2)m≥9时,去掉两个最高分和两个最低分后另m-4个得分的平均值。假设事先已经建立了text型的数据文件f1.txt,其中依次记录着n个选手的编号(一个正整数)、姓名(一个字符串)以及m个评委给出的得分。请编制程序,依次从数据文件f1.txt中读入n个选手的有关信息,而后按上述规定方法
2、计算出每一个选手的最后得分,而且往屏幕上以及另一个text型文件f2.txt中同时输出如下形式的结果信息。假设参赛选手人数n=5,评委人数m=7,磁盘文件f1.txt中的初始数据为:1zhangjin8.89.37.98.78.99.79.22lintao8.98.28.68.88.59.19.33guojian8.98.48.78.68.68.48.64maling7.98.38.58.68.58.98.35liuyifan9.59.19.89.29.09.58.9那么,程序执行后,屏幕显示结果以及磁盘文件f2.txt中的结果均应该为:-----
3、-----------------------------------------------------参赛号姓名最高分最低分累积分最后得分----------------------------------------------------------1zhangjin9.77.944.98.982lintao9.38.243.98.783guojian8.98.442.98.584maling8.97.942.28.445liuyifan9.88.946.39.26--------------------------------------
4、--------------------思考:可进一步考虑找出比赛的第1至第k名,也在屏幕以及f2.txt中同时输出相关的结果信息(k小于等于n,并规定若多个选手最后得分相同时,则有效分(即已删除原来的最高分后)中最高分高者名次优先)。源程序如下:#include#include#includeclassCplayer{private:intnumber;//选手序号intjudge_n;//裁判人数char*name;//选手姓名doublescore[20];//选手的所有分数pu
5、blic:Cplayer(char*a,intn1,intjn,doublefen[20])//构造函数,对数据初始化{name=newchar[strlen(a)+1];strcpy(name,a);//姓名赋值number=n1;//序号judge_n=jn;//裁判数for(inti=0;i6、;strcpy(name,a);}voidset_score(doublefen1[20])//分数的输入和更改{for(inti=0;i7、&a);//友元函数,运算符重载//向指定文件输入选手的资料};//类定义完毕.classCresult//定义另一个类。{private:intnumber;//选手序号intjudge_n;//裁判人数char*name;//选手姓名doublescore[20];//选手分数的集合public:Cresult(char*a,intn1,intjn,doublefen[20]){name=newchar[strlen(a)+1];strcpy(name,a);//姓名赋值number=n1;//选手序号judge_n=jn;//裁判数for(i8、nti=0;i
6、;strcpy(name,a);}voidset_score(doublefen1[20])//分数的输入和更改{for(inti=0;i7、&a);//友元函数,运算符重载//向指定文件输入选手的资料};//类定义完毕.classCresult//定义另一个类。{private:intnumber;//选手序号intjudge_n;//裁判人数char*name;//选手姓名doublescore[20];//选手分数的集合public:Cresult(char*a,intn1,intjn,doublefen[20]){name=newchar[strlen(a)+1];strcpy(name,a);//姓名赋值number=n1;//选手序号judge_n=jn;//裁判数for(i8、nti=0;i
7、&a);//友元函数,运算符重载//向指定文件输入选手的资料};//类定义完毕.classCresult//定义另一个类。{private:intnumber;//选手序号intjudge_n;//裁判人数char*name;//选手姓名doublescore[20];//选手分数的集合public:Cresult(char*a,intn1,intjn,doublefen[20]){name=newchar[strlen(a)+1];strcpy(name,a);//姓名赋值number=n1;//选手序号judge_n=jn;//裁判数for(i
8、nti=0;i
此文档下载收益归作者所有