C++中如何输入两行整数(每一行整数的个数任意)

例如我要输入两行整数分别保存在vector对象中(整数的个数不确定的,可以为4或5或……)
如:
1 2 3 4
3 2 6 5 7 8
我是利用两个while循环实现的,但是在VC++6.0运行输入第一行数后Enter,然后我按(“Ctrl+z”再Enter)两次,还没等我输入第二行数,它就Press and key to continue了,如下所示:

#include <iostream>
#include <vector>
using namespace std;
int main()
{
int num;
vector<int> ivec1,ivec2;
cout<<"输入第一行数"<<endl;
while(cin>>num){ivec1.push_back(num);}
cout<<"输入第二行数"<<endl;
while(cin>>num){ivec2.push_back(num);}
return 0;
}
麻烦指点一下,或者有其他方法的话也行,就是不需要指定整数的个数,可以任意个数的。但是不要用while(cin>>num1>>num2)这样的同时输入两个数给两个vector对象。
谢谢

第1个回答  2011-04-22
在两个while循环中分别加入一个判断,一旦符合则break就行了
其他的问题也差不多类似的。本回答被提问者采纳
第2个回答  2011-04-21
#include <vector>
using namespace std;
int main()
{
int num;
vector<int> ivec1,ivec2;
cout<<"输入第一行数"<<endl;
while(1){cin>>num; if(num==0) break; ivec1.push_back(num);}
cout<<"输入第二行数"<<endl;
while(1){cin>>num; if(num==0) break; ivec2.push_back(num);}
return 0;
}
第3个回答  2011-04-21
我这里没有调试环境,应该是孤松独海的,while语句后加break 。
因为第一次while后NUM已经有值,如果不释放,第2次NUM已经有值了,所有直接跳过
相似回答