在向量中找到最小的数字

时间:2019-10-24 02:30:07

标签: c++

我试图获取向量中的最小数字,但是每次运行它时,我的代码都会输出000。

我尝试查看有关堆栈溢出的其他问题,但似乎其他人没有收到与我类似的错误。

    cout << "The smallest number is: ";
    for (i = 0; i < numberList.size(); ++i) {
        int smallest = numberList.at(0);
        if (numberList.at(i) < smallest) {
            smallest = numberList.at(i);
            }
        cout << smallest;
        }

当我输入3个数字时:1 2 3(作为单独的输入) 我知道最小的数字是:000

2 个答案:

答案 0 :(得分:1)

您要声明最小并在循环内输出,这样它将在每次迭代中都执行此操作,

std::cout << "The smallest number is: ";
int smallest = numberList.at(0);
for (int i = 0; i < numberList.size(); ++i) {

    if (numberList.at(i) < smallest) {
        smallest = numberList.at(i);
    }

}
std::cout << smallest;

如果获得“ 0”,则向量在某处可能为0。但是您需要发布如何为此创建它。

此外,您也可以只使用numberList [i],不需要.at()。

答案 1 :(得分:1)

您可以使用std::min_element来实现您想要的功能。