大家好我是c +的新手,但对java有一些很好的经验。
我正在尝试创建一个包含5个整数的简单程序(作为评判分数)。丢弃最大和最小分数,并且必须从剩下的中间3分数计算平均值。
我认为这会相当简单,但由于某种原因,我的程序总是给我一个比它应该稍大的答案。
我还应该说明答案可以是实数,而输入必须是整数。
以下是我到目前为止的内容,它已经非常完整,但在某些地方有一些隐藏的小学生错误,我几个小时都找不到。
我知道可能还有其他更有效的方法可以做到这一点,但这是我能想到的最好的方法,因为我刚开始使用c ++。
非常感谢任何帮助!!
{{1}}
答案 0 :(得分:2)
在getSmallest
例程中,您必须设置
int smallest = INT_MAX;
无论你输入什么,或smallest
都是0。
(包括<climits>
INT_MAX
可用)
INT_MAX
),因为第一个条件总是为真:
int getSmallest(int first, int second, int third, int fourth, int fifth)
{
int smallest = first;
if ( second <= smallest )
{
smallest = second;
}
同样的优化适用于getLargest
int getLargest(int first, int second, int third, int fourth, int fifth)
{
int largest = first;
if ( second >= largest )
{
largest = second;
}