編乙個C函式,子串在主串中出現多少次

2021-08-05 19:17:30 字數 572 閱讀 8505

#include #include int main()

{ int a=0,b=0,count=0,j=0,i=0;

char ch1[100],ch2[100];

printf("please enter your string:");

gets(ch1);

printf("please enter your substring:");

gets(ch2);

a=strlen(ch1);

b=strlen(ch2);

for(i=0;i我們知道如果主串中含有這個子串的話,那麼這個子串第乙個字元在主串中出現的時候,主串至少還有子串長度-1的長度。

首先我們通過終端輸入主串和子串,對主串進行遍歷,從0開始到長度相減為止,長度相減的值之後不可能在出現主串中含有子串的情況了。

遍歷,當我們主串中第i-1個元素與子串第乙個元素相同時,對兩個字串同時遍歷,如果遍歷完了整個子串主串都與之相同,那麼就找到了乙個子串,

將技術變數自增,跳出這個遍歷過程進行下一次的主串遍歷,反之直接退出兩個字串的遍歷直接進行下一次的遍歷,迴圈此過程得到最終主串中有多少的子串。

統計子串在主串中出現的次數

思路 定義兩個指標p,q p指向主串首位址,q指向子串首位址。如果對應的字元相等,那麼 p,q,即兩個指標都向後移乙個單位再繼續比較 p和 q,否則q回到子串的首位址,只把指標p向後移動乙個單位。依次類推,如果 q 0 說明子串已經終止,子串在主串中出現的次數加1,直到主串終止為止。includei...

乙個子串在另乙個串中出現次數

題意 給n個字串,問乙個字串是另乙個字串的子串的個數有多少 解題思路 用map存下所有的字串,然後用set處理出每個串的不同子串,在map裡查詢數量,注意要減去匹配自己的情況。include include include include include includeusing namespace...

乙個子串在整串中出現的次數

思想一 1.宣告次數count 0 2.計算子串的長度。3.按照子串的長度,從整串的開始位置開始搜尋,判斷子串長度個字元,看是否與子串相同,若相同,count 1.4.搜尋位置 1 知道搜尋位置等於整串.length 子串.length結束搜尋。5.輸出count。public class stri...