C实现-统计子串在母串中出现的次数(具体)

代码实现

        思想:每一个循环取子串字符分别与母串字符比较,然后后移,记录母串中有多少个连续字符与子串字符相同。(程序中已详细注释,这里不再重复讲解)

//导入头文件
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(){
    int i,j,k;//控制循环
	int count=0;//计数器 
    char T[50];//定义母串,容量50
	char P[10];//定义子串,容量10
    printf("请输入 母串:\n");//信息提示 
    gets(T);//读取数据 
    printf("请输入 子串:\n");//信息提示
    gets(P);//读取数据 
    int TLen=strlen(T);//母串长度 
    int PLen=strlen(P);//子串长度 
    for(i=0;i<=TLen-PLen;i++){ //循环比较 
        for(j=0,k=i;j<PLen&&P[j]==T[k];j++,k++); //判断是否相同 
        if(j==PLen){ //到达长度 
        	count++;//计数器增加 
		}
    }
    printf("子串在母串中出现的次数共 %d 次\n",count);
    return 0;
}

运行结果

猜你喜欢

转载自blog.csdn.net/m0_54158068/article/details/124372127
今日推荐