C ++:如何按升序排列4个值?

时间:2016-03-28 14:31:54

标签: c++ function

您好我知道这可能是一个初学者问题,但我需要帮助。 我需要比较用户添加的4个值,并按照升序排列它们,使用一个带2个输入的函数并返回较小的值。我知道它可以通过数组完成,但我不能这样做。我已经有了这个功能但是我不知道如何使用这个技巧而不需要很长的代码。感谢

2 个答案:

答案 0 :(得分:2)

在我看来,这是一个明显的“家庭作业问题”,所以让我以密码方式回答它,以便推动你朝着正确的方向前进。

首先,提示:分而治之。

第二个提示:“河内之塔”问题。

您有一个可以比较两个值的函数。好的,那么:“四个元素”可以被视为“两个两个值。”鉴于比较函数的两个输入中的任何一个都可以是通过嵌套调用同一函数获得的结果。 。 。实际上,您可以在一行代码中解决此问题,而无需使用数组。

我正在这里“教你钓鱼”,所以我不会把鱼放在盘子上。

答案 1 :(得分:0)

如果您了解c ++,则可以使用sort函数。但为此,您必须将algorithm包括为:

#include <algorithm>

和sort函数将用作:

sort(array, array+N);

其中array是数组名称,N是数组的大小。在此操作之后,您将按升序获得排序数组并返回第一个元素。现在该函数将如下所示:

int smallest(int *array) {
    int size = sizeof(array) / sizeof(array[0]);
    sort(array, array+size);
    return (array[0]);
}

现在从main()

调用此函数