程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 南開百題難題破解(3)

南開百題難題破解(3)

編輯:C++入門知識

題目要求: 如:大字符串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.2cto.com             tem1++;               tem2++;               if(substr[tem2]=='\0')               {                   count++;                   break;               }           }           i++;       }       return count;   }    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved