将max min的数据与可变数量的输入C ++进行比较

时间:2018-01-19 10:53:18

标签: c++

对于我的CS课程,我应该设计一个程序,说:

编写一个程序,询问用户他们想要输入多少个整数。您可以假设他们将输入一个数字> = 1.然后程序将提示用户输入那么多整数。输入所有数字后,程序应显示这些数字中最大和最小的数字(不,您不能使用数组,或我们尚未涵盖的任何其他材料)。运行程序时,它应符合以下格式:

How many integers would you like to enter?
4
Please enter 4 integers.
-4
105
2
-7
min: -7
max: 105

我不知道如何为自己的值分配不同数量的用户输入变量。 任务将于2018年1月21日到期。

任何帮助将不胜感激。

编辑:我不允许使用数组或条件运算符(?)

1 个答案:

答案 0 :(得分:2)

  

为不同数量的用户输入变量分配自己的值

您不必这样做。您只需要两个变量:minmax。输入第一个数字时,将两个变量分配给该值。然后,在读取每个下一个数字(如果有的话)之后,将它与这两个值进行比较。如果该号码(让我们称之为current)大于max,请执行max = current。如果小于min,请执行min = current

处理完所有数字后,maxmin将分别包含最大值和最小值。

类似的东西:

int n = 0;
int min, max;

// read number of variables from user and store it in n

for (int i = 0; i < n; ++i)
{
    int current;
    // read next number and store it in current

    if (i == 0) // first number
    {
        min = max = current;
    }
    else
    {
        if (current > max) max = current;
        if (current < min) min = current;
    }
}

std::cout << "Max: " << max << ", min: " << min << std::endl;

该代码应该说明一般的想法。自己编写基本部分(阅读输入)以及所有部分。

小注意:因为您可以假设n>= 1,您可以将第一个读取移到循环外部并将其更改为从i = 1开始(循环不会在所有如果用户只输入一个值)。这也将允许您避免仅在第一次运行期间为真的if (i == 0)条件。但由于这只是一个练习,我只是为了简单。