C/C++ 泛型编程string(模式匹配)

题目描述

字符串模式匹配就是判断一个字符串是否在另一个字符串出现以及出现的位置。

编写程序设计,计算一个字符串在另一个字符串中出现的次数。

输入

包括多组测试数据。

第1行为测试数据的组数。

每组有2行,分别为2个字符串。

输出

第一个字符串在第二个字符串中出现的次数

样例输入

4
aa  aaaa
ab  aaaa
aa  aabbaabb
ab  aabbaabb

样例输出

3
0
2
2
#include<iostream>
#include<string>
using namespace std;
int main()
{
	int n;
	string s1,s2;
	cin>>n;
	while(n--)
	{
		cin>>s1>>s2;
		int s1_size,t=0;
		s1_size=s1.size();
		string::iterator iter1,iter2,iter3;
		for(iter2=s2.begin();iter2!=s2.end()-1;iter2++)
		{
			iter3=iter2;
			int i=0;
			for(iter1=s1.begin();iter1!=s1.end();iter1++,iter3++)
			{
				if(*iter1!=*iter3)
					break;
				i++;
			}
			if(i==s1_size)
				t++;
		}
		cout<<t<<endl;
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/A_I_Q/article/details/82892867