标题:[求助]高手哥哥们,帮帮小弟的忙啊!
只看楼主
liuhippo
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-8-20
 问题点数:0 回复次数:4 
[求助]高手哥哥们,帮帮小弟的忙啊!

偶有一题,总是调试出错,但是偶却找不到错误在哪里,请高手们帮帮小弟的忙!!!!

题目是这样的:计算某一批参赛选手最后得分的类实现:某地举办歌舞大赛,参赛选手共n人,有九位评委,给每一选手打一个分数score(score为小于等于10的一个正实数).选手的最后的得分lastScore为去掉一个最高分以及一个最低分后另7个分数的平均值.

例如,假设常数n=3,程序执行后在屏幕上显示如下的结果:

Input 3 person’s information(1 number, 9 score):

person1:1 8.2 8.5 9.1 8.0 7.9 9.3 8.8 8.9 8.4
person2:2 7.8 7.9 7.6 8.4 8.1 8.8 8.4 8.1 9.0
person3:3 8.3 8.6 8.9 7.8 9.1 9.0 8.9 8.7 8.5
number maxScore minScore sum lastScore
1 1 9.3 7.9 59.9 8.55714
2 2 9.0 7.6 57.5 8.21429
3 3 9.1 7.8 60.9 8.7
我得程序的源代码如下:
#include <iomanip.h> struct person{ int number; double score[9],maxScore,minScore,sum,lastScore; }; class myClass { private: int n; person *per; public: myClass(int n0); void init(); void input(); void processing(); void outResult(); }; myClass::myClass(int n0) { n=n0; per=new person[n]; } void myClass::init() { for (int i=0;i<n;i++) { per[i].maxScore=0; per[i].minScore=10.1; per[i].sum=0; } } void myClass::input() { cout<<"Input "<<n<<" person's information (1 number, 9 score):"<<endl; cout<<"-----------------------------------------------------"<<endl; for (int i=0;i<n;i++) { cout<<"person"<<i+1<<":"; cin>>per[i].number; for (int j=0;j<9;j++) cin>>per[i].score[j]; } } void myClass::processing() { for (int i=0;i<n;i++) { for (int j=0;j<9;j++) { double tmp=per[i].score[j]; per[i].sum+=tmp; if (tmp>per[i].maxScore) per[i].maxScore=tmp; if (tmp<per[i].minScore) per[i].minScore=tmp; } per[i].sum=per[i].sum-per[i].maxScore-per[i].minScore; per[i].lastScore=per[i].sum/7; } } void myClass::outResult() { cout<<"----------------------------------------------------"<<endl; cout<<"number maxScore minScore sum lastScore"<<endl; cout<<"----------------------------------------------------"<<endl; for (int i=0;i<n;i++) { cout<<setw(6)<<per[i].number<<setw(10)<<per[i].maxScore; cout<<setw(10)<<per[i].minScore<<setw(10)<<per[i].sum; cout<<setw(12)<<per[i].lastScore<<endl; } } void main() { myClass obj1(3); obj1.init(); obj1.input(); obj1.processing(); obj1.outResult(); }
输出的结果是错误的,希望版主和大虾们帮帮我啊!!!!!!!!!
先谢谢了
搜索更多相关主题的帖子: 选手 size 
2004-08-20 13:42
yfuy23
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2004-7-12
得分:0 
结果哪错了呀??结果不就是这个吗??
2004-08-21 16:15
kuangjingbo
Rank: 1
等 级:新手上路
帖 子:312
专家分:0
注 册:2004-4-24
得分:0 

大哥,别耍我们了

根本就没有什么错误

我已经在机器上试过了,我用的是vc++6.0 


永不放弃!
2004-08-21 21:38
忆楠
Rank: 1
等 级:新手上路
帖 子:721
专家分:0
注 册:2004-7-5
得分:0 
我的也编译通过了。。。。。。。。。。可能是理论上的错误把

点 鼠 标 , 救 饥 民 http://www./
2004-08-21 21:46
kuangjingbo
Rank: 1
等 级:新手上路
帖 子:312
专家分:0
注 册:2004-4-24
得分:0 

而且数值,我也一个个的输入了

跟你给出的一样


永不放弃!
2004-08-22 16:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-4448-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019743 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved