计算字符串中子串出现的次数。
Posted zhaohuan1996
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算字符串中子串出现的次数。相关的知识,希望对你有一定的参考价值。
/* 计算字符串中子串出现的次数。 算法:字符串最长匹配原则,以下是图解: abcabcabc abc 循环遍历母串前lenT-lenP; 循环遍历字串,用j指向子串,用k记录每一趟母串开始的位置,若p[j]==t[k]则k、j均后移 若j==子串长度lenP,则找到一个子串,次数++。 */ #include<stdio.h> #include<math.h> #include<malloc.h> #include<string.h> main() { char T[100],P[100]; gets(T); gets(P); int i,j,k,c=0,lenT,lenP; lenT=strlen(T); lenP=strlen(P); for(i=0;i<=lenT-lenP;i++){ for(j=0,k=i;j<lenP&&P[j]==T[k];k++,j++); if(j==lenP) c++; } printf("%d ",c); }
以上是关于计算字符串中子串出现的次数。的主要内容,如果未能解决你的问题,请参考以下文章
C语言问题计算字符串中子串出现的次数。要求:用一个子函数subString()实现,参数为指向字符串