计算主字符串中子串出现的次数

  • DeveloperSite

 题目:计算主字符串中子串出现的次数。即:字符串2在字符串1中出现的次数 。

=====================================

=====================================

01#include<stdio.h>
02#include<string.h>
03int main()
04{
05     char str1[100],str2[100],*p1,*p2,*temp;
06     int sum=0;
07     printf("Please input the 1th string:\n");
08     gets(str1);
09     printf("Please input the 2th string:\n");
10     gets(str2);
11     p1=str1;
12     p2=str2;
13     while(*p1!='\0')//判断主字符串是否结束
14     {
15         temp=p1;
16         while(*p1==*p2&&*p2!='\0')
17         {
18             p1++;
19             p2++;
20         }
21         if(*p2=='\0')//判断子字符串是否出现在主字符串中
22             sum++;
23         p1=temp+1;
24         p2=str2;
25     }
26     printf("Appears %d times\n",sum);
27     return 0;
28}

=============================================================================================

=============================================================================================