第一种
#include <bits/stdc++.h>
using namespace std;
int sum(string s, string str)
{
int result = 0;
for (int j = 0; j <=s.length()-str.length(); j++)
{
string zs = s.substr(j, str.length());//使用substr()函数每次截取str长的子串,在与str想比较
if (zs == str)
result++;
}
return result;
}
int main()
{
string s;
cin >> s;
string str;
cin >> str;
cout << sum(s, str) << endl;
return 0;
}
第二种
#include <bits/stdc++.h>
using namespace std;
int sum(string s,string str)
{
int result = 0;
int j=0 ;
for (int i = 0; i < s.length(); i++)
{
for (j = 0; j < str.length(); j++)
{
if (s[i + j] != str[j])
break;
}
if (j == str.length())
result++;
}
return result;
}
int main()
{
string s;
cin >> s;
string str;
cin >> str;
cout << sum(s, str) << endl;
return 0;
}
第三种
#include <bits/stdc++.h>
using namespace std;
int main()
{
string a, b;
cin >> a >> b;
int num = 0;
for (int i = 0;(i = a.find(b, i)) != -1;i++, num++);
cout << num << endl;
return 0;
}
//使用find()函数,从0开始开始查找,找到后i++,num++