程序使用c ++中的while循环查找一组数字的最小值

时间:2018-10-23 06:47:46

标签: c++

我是C ++的新手,我很难理解下面的程序。它看起来很简单,所以让我感到我对到目前为止在c ++中学到的所有东西都错了。

    int number = 0;
    int min = 0; 

cout << "enter (-1) to stop" << endl;
while( number != -1)
{
    cout << "Enter an integer:";

    cin >> number ;
    if (number < min)
        min = number;
}
cout << "your minimum number is: " << min << endl;

我最困惑的是if语句。 “ min”仅被初始化为等于零,因此整个if语句对我来说没有意义。我认为,在程序中没有真正定义“最小”的东西。 非常感谢任何贡献。谢谢!

程序运行正常。而且,确实可以找到用户输入的一组数字中的最小值。我只是不明白那是怎么回事

2 个答案:

答案 0 :(得分:1)

在循环的每次迭代中,将使用number读取新的cin。因为number是一个有符号整数,所以它可能小于min,在这种情况下,if将通过。奇怪的是min从0开始,但是if语句不是多余的。

答案 1 :(得分:1)

使用输入的第一个数字初始化min

    cout << "enter (-1) to stop" << endl;

    cout << "Enter an integer:";
    cin >> number ;
    min = number;

    while( number != -1)
    {
        cout << "Enter an integer:";
        cin >> number ;
        if (number < min)
            min = number;      
   }