65,210
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <vector>
using namespace std;
main()
{
vector <int> ivec1;
vector <int> ivec2;
int ival1;
cout <<"输入ivec1:" <<endl;
while(cin>>ival1)
{
ivec1.push_back(ival1);
}
int ival2;
cin.sync();
cin.clear(); //记得刷新和清空缓冲区,不然接收的字符类型作为下次int类型变量的输入
cout <<"输入ivec2:" <<endl;
while(cin>>ival2)
{
ivec2.push_back(ival2);
}
cin.sync();
cin.clear();
vector <int>::size_type size1,size2, size;
size1=ivec1.size();
size2=ivec2.size();
bool result=true;
size = size1>size2?size2:size1;
for(vector <int>::size_type ix=0;ix!=size;++ix) //这里是一个操作数,如果照你那样写,这里是一个表达式
{
if(ivec1[ix]!=ivec2[ix])
{
result=false;
break;
}
}
if (result)
{
if(size1 < size2)
{
cout <<"ivec1是ivec2的前缀" <<endl;
}
else
if(size1>size2)
{
cout <<"ivec2是ivec1的前缀" <<endl;
}
else
if(size1==size2)
{
cout <<"ivec2=ivec1" <<endl;
}
}
return 0;
}