我编写了一个脚本,以便奇数存储在一个矢量中,然后在输入一个负数后显示在最后。
由于某种原因,仅显示第一个奇数。这是代码:
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
int i=0;
int val=0;
int rem;
vector<int>v;
while(val>=0){
cout<<"Please enter an integer: \n";
cin>>val;
rem=val%2;
if(rem==1)
v.push_back(val);
else;
}
for(int i=0; i<v.size(); ++i);
cout<<"Odd Numbers: " <<v[i]<< "\n";
system("pause");
return 0;
}
答案 0 :(得分:1)
小心你的分号:
for(int i=0; i<v.size(); ++i);
// ^^^
cout<<"Odd Numbers: " <<v[i]<< "\n";
您正在运行循环:
for(int i=0; i<v.size(); ++i) {
;
}
cout<<"Odd Numbers: " <<v[i]<< "\n";
答案 1 :(得分:1)
通过向量迭代最好使用iterator
。
for(auto it = std::begin(v); it != std::end(v); it++)
std::cout << "Odd number: " << *it << std::endl;