C++中错误的计算方法
Erroneous calculation method in C++
我正在参加一门C++初学者课程,现在我正在为一项作业而挣扎。任务是:
一个特殊的才艺比赛有5名评委,每个评委给每个表演者0到10分之间的分数。编写一个程序,使用这些规则来计算和显示参赛者的分数。它应该包括以下功能:
•int getJudgeData()应该向用户询问法官的分数,将其存储在一个参考参数变量中,并对其进行验证。main应该为5名法官中的每一位调用一次该函数。
•double calcScore()应计算并返回在放弃表演者获得的最高和最低分数后剩余的3个分数的平均值。这个函数应该只被main调用一次,并且应该通过5分。
calcScore应该调用下面描述的两个附加函数,它使用返回的信息来确定要降低的分数。
•int findLowest()应查找并返回传递给它的5个分数中最低的一个。
•int findHighest()应查找并返回传递给它的5个分数中的最高值。
当测试我的程序时,如果第一位评委的分数最低,它会正常工作,但现在它会正常地工作于其他最低的评委。
Ex: I will enter 2,1,5,4,3 so it should drop the 1 & 5 and come out with the avg of 3 but the result is 2.6667
我对int findLowest()
的代码是:
int findLowest(int scoreOne,int scoreTwo,int scoreThree,int scoreFour,int scoreFive)
{
int lowest = scoreOne;
if ( scoreTwo < lowest )
lowest = scoreTwo;
if ( scoreThree < lowest )
lowest = scoreThree;
if ( scoreFour < lowest )
lowest = scoreFour;
if ( scoreFive < lowest )
lowest = scoreFive;
return lowest;
}
int findHighest
是相似的,但小于符号的切换明显。
对于calcAverage()
功能,我有:
double calcAverage(double OneScore,double twoScore,double threeScore, double fourScore,double fiveScore)
{
double lowest, highest, sum;
lowest=findLowest(OneScore,twoScore,threeScore,fourScore,fiveScore);
highest=findHighest(OneScore,twoScore,threeScore,fourScore,fiveScore);
sum = (OneScore + twoScore + threeScore + fourScore + fiveScore);
sum = sum - lowest;
sum = sum - highest;
sum = sum / 3;
cout<<"nAfter droping highest and lowest scoresn";
cout<<"Your average score is "<<sum << endl;
return 0;
}
EDIT:我在findHighest和findLowest函数中放入了cout语句,以检查它确定的数字是正确的,每次它选择正确的最高数字时,对于最低数字,它将具有0
编辑二:我发现无论输入什么,程序都会将分数一设置为0。该程序对其他分数进行正确输入
快速查看后,您的代码应该可以工作了。再次运行一遍,并确保每个if语句与您想要做的内容一致。如果这不起作用,您可以尝试另一种方法,即
double lowest = oneScore;
if (twoScore < lowest)
lowest = twoScore;
if(threeScore < lowest)
lowest = threeScore;
etc...
calcAverage()函数可能只是因为lowest()和hihgest()函数而失败。
编辑:如果你已经学会了数组,用它来声明一个分数数组,然后用for循环来迭代,正如Paul在评论中暗示的那样
- 是否有一种标准方法来计算两个 asctime() 值之间的天数
- 有没有一种惯用的方法可以在不存储变换或不必要地重新计算的情况下找到数组变换的最小/最大值?
- 寻求提高Microsoft密封库计算效率的方法
- 在 C++20 计算范围内相邻对的最简洁明了的方法是什么?
- 计算浮点余数的最佳方法
- 计算将整数n分解为4平方和的方法的数量
- 计算两个uint8_t变量之间差值的最快方法是什么?
- 使用 MC 方法计算积分
- 计算 <Classtype*> 向量中所有项的布尔值的最有效方法,如果全部为真则返回 true
- C++ std::string 中是否有任何函数可以计算两个字符串的相同起始字符的总数或任何最佳方法
- C/C++ 方法中最快/最短计算二进制数字总和/又名二进制中的 1 数
- 对于我扩展此程序来计算最高10x10矩阵的倒数的最简单方法是什么
- 什么是计算C中PI的最有效方法
- 是否有一种计算CGAL中Surface_mesh对象的PCA的方法
- 是否有任何数据类型或方法可以计算当前单元格中先前数组单元格的总和
- 有没有一种简单的方法来计算库中记录的函数
- 复数程序编译时的计算方法错误
- 数据包CRC计算方法
- C++中错误的计算方法
- 编译器本身使用并行计算方法运行