C語言經典例96 計算字串中子串出現的次數

2021-10-03 03:41:20 字數 914 閱讀 7117

計算字串中子串出現的次數

串的模式匹配在資料結構中有kmp演算法,但這個演算法實現起來繁瑣,難度很大,所以對於一般來說,使用暴力法求解,設有字串str和子串sub,第一輪迴圈從str的第乙個字元開始,設定乙個位置標號j,再與子串sub逐個比較,若比較相同的話,則位置標號向後移,比較下乙個字元,出現第乙個不相同字元則該輪比較結束,比較結束後若j的值和sub字串長度相同,則說明找到乙個子串,計數count遞增,第二輪迴圈則從str的第二個字元開始比較, 依次類推。

另外在string.h有函式strstr(),該函式返回在 haystack 中第一次出現 needle 字串的位置,如果未找到則返回 null。函式原型如下:

char

*strstr

(const

char

*haystack,

const

char

*needle)

#include

#include

intsubstring

(char

*str,

char

*sub)}if

(j ==

strlen

(sub))}

return count;

}int

main

(void

)

請輸入母串:abcaabcaadbbc

請輸入子串:bc

3

計算字串中子串出現的次數

2.計算字串中子串出現的次數利用輸入函式輸入任意兩個字串,請編寫程式求出第二個字串在第乙個字串 現的次數,即在第乙個字串中有幾個第二個字串。例1 輸入123sdk123dfg123121 123輸出 3 例2 輸入 1wdfw112sfrtes wq輸出 0 include include int ...

C語言字串拷貝經典

兩種方法 include int main void b i 0 重要 return 0 void copy0 char from,char to to 0 return void copy1 char from,char to to 0 return void copy2 char from,ch...

使用C語言實現字串中子字串的替換

描述 編寫乙個字串替換函式,如函式名為 strreplace char strsrc,char strfind,char strreplace strsrc為原字串,strfind是待替換的字串,strreplace為替換字串。舉個直觀的例子吧,如 abcdefghijklmnopqrstuvwxy...