您的位置:首页 > 其它

笔试题目

2014-10-14 23:13 246 查看
找出一个字符串内某个子串的个数。

例如:

子串为:lan

输入:lanzhihui is a good boy lan la lalalan

输出:3

//检索子串的个数
#include<iostream>
#include<string>
using namespace std;

int find_str(string s,const char *str)
{
	if(str==NULL||s.empty())
		return 0;
	int len=s.size();
	const char *cp=str;
	int sum=0;
	int i=0;
	bool falg=false;
	while(i<len)
	{
	    falg=false;
		while(s[i]==*str)
		{
		    i++;
			str++;
			falg=true;
			if(*str=='\0')
			{
				sum++;
				str=cp;
			}
			if(i==len)
			{
				return sum;
			}
		}
		str=cp;
		if(!falg)
		{
		   i++;
		}
	}
	return sum;
}

int main()
{
	string s;

	for(;;)
	{
	getline(cin,s);

	int sum=find_str(s,"lan");
	cout<<sum<<endl;
	}
	system("pause");
	return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: