Posted on 2012-08-12 16:05
hoshelly 閱讀(1653)
評論(0) 編輯 收藏 引用 所屬分類:
Programming
編寫一個(gè)函數(shù)totsubstrnum(char *str, char *substr) ,它的功能是:統(tǒng)計(jì)子字符串substr在字符串str中出現(xiàn)的次數(shù)。
思想:len2為子串的長度,設(shè)置變量 i =0, 利用strncmp函數(shù)將str+i 開始的len2個(gè)字符與子串substr進(jìn)行比較,如果相等,則count加1,此時(shí) i 加 len2,如果不等,則 i 加1,繼續(xù)尋找。
代碼測試通過:
#include<stdio.h>
#include<string.h>
int totsubstrnum(char *str, char *substr);
int main()
{
char str[80],substr[80];
printf("Input string: ");
gets(str);
printf("Input substring: ");
gets(substr);
printf("count = %d\n",totsubstrnum(str,substr));
return 0;
}
int totsubstrnum(char *str, char *substr)
{
int i=0,count=0,len1,len2;
len1=strlen(str);
len2=strlen(substr);
while(i <= len1-len2)
{
if(strncmp(str+i,substr,len2) == 0)
{
count++;
i +=len2;
}
else
i++;
}
return (count);
}