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