编程统计任意一个字符串在另一个字符串中出现的次数。

例如,假定输入的字符串为“asd asasdfg asd as zx67 asd mklo”,子字符串为as,则输出结果6。

第1个回答  2008-11-10
/*TC2编译通过*/
/*该实现基于子串在主串各个位置出现的几率相等,自左向右匹配*/
/*是基础的模式匹配算法,有关改进算法,可以参考网络*/
/*如果子串出现在主串前部的几率较大或其他其它情况,应作相应改进*/
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define arraysize 64
int cont_str_contain_str(char *str,char *substr)
{
int i;
int Len;
char *strend;
Len=strlen(substr);
strend=str+strlen(str)-1;
for(i=0;str<strend;i++)
{
str=strstr(str,substr);
if(!str) break;
str+=Len;
}
return i;
}

main()
{
int count;
char s1[arraysize],s2[arraysize];
clrscr();
printf("string;");scanf("%s",s1);
printf("substring;");scanf("%s",s2);
count=cont_str_contain_str(s1,s2);
printf("\n%d",count);
getch();
}


相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网