南开百题难题破解(3)
题目要求:
如:大字符串asasd asa 小字符串as 则n=3;
解答如下:这个不难看懂,就不加注释了。
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'){tem1++;tem2++;if(substr[tem2]=='\0'){count++;break;}}i++;}return count;}