认真做完前面几个实验,这道题就是水到渠成。
// 包含字符串函数库
#include <string.h>
#include <iostream>
using namespace std;
int frequency(char * substr, char * str);
int main()
{
char sub[128],str[1024];
cin.getline(sub,128); // 输入子串
cin.getline(str,1024); // 输入长串
int n = frequency(sub,str); // 调用frequency函数,计算子串在长串中出现的次数
cout<<n<<endl; // 输出次数
return 0;
}
// 函数frequency:计算子串在长串中出现的次数
// 参数:substr-指向子串,str-指向长串
// 返回值:出现的次数
int frequency(char * substr, char * str)
{
// 请在此添加代码,实现函数frequency
/********** Begin *********/
int ans = 0;
while(*str!='\0'){
if(strstr(str,substr) != NULL){
ans++;
while(str != strstr(str,substr))
str++;
}
for(int i=0; i<strlen(substr); i++)
str++;//跳过子串,查看后面的串
}
return ans;
/********** End **********/
}