南开百题难题破解(3)
题目要求:如:大字符串asasd asa 小字符串as 则n=3;
解答如下:
这个不难看懂,就不加注释了。
[cpp]
nt findStr(char *str, char *substr)
{
char *p=str,*q=substr,*tem1=NULL,*tem2=NULL;
int slen=strlen(str),sublen=strlen(substr);
int count=0;
while(p-str<slen)
{
tem1=p;
tem2=q;
while(*tem1==*tem2 && tem2-substr<sublen)
{
tem1++;
tem2++;
if(tem2-substr==sublen)
{
count++;
break;
}
}
p++;
}
return count;
}
用数组 实现
int findStr(char *str, char *substr)
{
int i=0,j=0;
int tem1=i,tem2=j;
int count=0;
while(str[i]!='\0')
{
tem1=i;
tem2=j;
while(str[tem1]==substr[tem2] && substr[tem2]!='\0')
{ www.zzzyk.com
tem1++;
tem2++;
if(substr[tem2]=='\0')
{
count++;
break;
}
}
i++;
}
return count;
}
补充:软件开发 , C++ ,