问题描述
- 利用vector<string>实现子串的查找
-
我想用下面这个程序实现子字符串的查找功能,为什么不行呢,大家伙帮我看看问题出在哪。。。
#include
#include
#include
using namespace std;
int findstr(vector vec,string s )
{
int n=0;
for(vector::size_type i=0;i!=vec.size();++i)
if(strcmp(vec[i],s)==0)
n++;
return n;
}
void main()
{
vector vec1;
string s2("you");
string word;
while(cin>>word)
{
vec1.push_back(word);
}
int k=findstr(vec1,s2);
if(k==0)
puts("Not find.");
else
cout<<s2<<" "<<k<<endl;
}
解决方案
using namespace std;
int findstr(vector vec,char* s )
{
int n =0;
for(vector::iterator iter=vec.begin() ;iter!=vec.end();iter++)
{
if(strcmp(*iter,s)==0)
n++;
}
return n;
}
void main()
{
vector vec1;
char* s2("you");
char word[20][20];
int i=0;
while(cin>>word[i])
{
if(0==strcmp("no",word[i]))
{
break;
}
vec1.push_back(word[i]);
i++;
}
int k=findstr(vec1,s2);
if(k==0)
puts("Not find.");
else
cout<<s2<<" "<<k<<endl;
}
赶紧采纳啊。
时间: 2025-01-20 13:59:39