我正在制作一个程序,该程序应该读取用户的输入,直到用户输入非数字的内容。我必须用矢量来做到这一点。所以用户必须定义元素的值和向量的大小。numVals 应该被初始化为用户输入的元素数量。程序应该找到序列中第二小的数字。所以我试着先得到最小的数字,因为这样更容易。但是作为输入总是给出零而不是最小值。谁能告诉我出了什么问题?
#include<iostream>
#include<vector>
#include<limits>
#include<stdexcept>
using namespace std;
int main(){
unsigned int i;
int numVals;
int min;
vector<int>sequence(numVals);
cout << "sequence: ";
while (cin.good()){
for (i=0; i<sequence.size(); ++i){
cin >> sequence.at(i);
}
}
min =sequence.at(0);
for (i=0; i<sequence.size();++i){
if (sequence.at(i)< min){
min=sequence.at(i);
}
}
cout << min << endl;
return 0;
}