Posted on 2012-08-12 16:05
hoshelly 阅读(1589)
评论(0) 编辑 收藏 引用 所属分类:
Programming
编写一个函数totsubstrnum(char *str, char *substr) ,它的功能是:统计子字符串substr在字符串str中出现的次数。
思想:len2为子串的长度,设置变量 i =0, 利用strncmp函数将str+i 开始的len2个字符与子串substr进行比较,如果相等,则count加1,此时 i 加 len2,如果不等,则 i 加1,继续寻找。
代码测试通过:
#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);
}