简单的平均计算器c ++无法正常工作

时间:2016-09-25 10:46:59

标签: c++ double

大家好我是c ​​+的新手,但对java有一些很好的经验。

我正在尝试创建一个包含5个整数的简单程序(作为评判分数)。丢弃最大和最小分数,并且必须从剩下的中间3分数计算平均值。

我认为这会相当简单,但由于某种原因,我的程序总是给我一个比它应该稍大的答案。

我还应该说明答案可以是实数,而输入必须是整数。

以下是我到目前为止的内容,它已经非常完整,但在某些地方有一些隐藏的小学生错误,我几个小时都找不到。

我知道可能还有其他更有效的方法可以做到这一点,但这是我能想到的最好的方法,因为我刚开始使用c ++。

非常感谢任何帮助!!

{{1}}

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;
    }