C++问题~~请高手帮忙啊

来源:百度知道 编辑:UC知道 时间:2024/09/28 09:35:11
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> vect1,vect2;
int i,j,num;
cout<<"请输入一串数字:"<<endl;
while(cin >> i)
{
vect1.push_back(i);
}
cout<<"请输入第二串数字:"<<endl;
while(cin >> j)
{
vect2.push_back(j);

}
cout<<"输入完毕"<<endl;
if(vect1.size() == vect2.size())
{
cout<<"两个数长度相等"<<endl;
}
else
{
int min=vect1.size()<vect2.size()?vect1.size():vect2.size();
for(int index=0; index!=min; ++index)
{
if(vect1[index] == vect2[index])
{
num = 1;
}
else
{
num=0;
}
}
if(num)
{
cout<<"小的为大的前缀"<<endl;
}
else
{
cout<<"小的不为大的前缀"<&

while(cin >> i)
{
vect1.push_back(i);
}

你的这个循环只有在输入结束(遇到文件末尾或者键盘出入ctrl+Z)的时候才会跳出,否则就一直执行下去,你的第二个循环自然是进不去的
你必须要在输入的时候在第一串数字和第二串数字之间加上某个特定的分隔符,并且在输入的时候作判断才行

你第一个while 已经在死循环了