当前位置:编程学习 > C/C++ >>

用C++编程一个函数实现一个字符串是否包含另一个字符串?

int Isincluded(char *strfirst,char *strsecond,flag)

{ 包含返回flag=1,否则0}

追问:关键这是笔试题 不要用标准库函数
答案:

bool Isincluded(const char *lpszRes, const char *lpszDst)
{
 const char *p1 = lpszRes;
 const char *p2 = lpszDst;
 int nResLen = strlen(lpszRes);
 int nDesLen = strlen(lpszDst);
 if(nResLen < nDesLen) return false;
 while (p1 != lpszRes+nResLen)
 {
  int nLen = strlen(p1);
  if (nLen < nDesLen) return false;
  const char *p3 = p1;
  p2 = lpszDst;
  while (p3 != p1+nDesLen)
  {
   if(*p3 == *p2)
   {
    ++p3;
    ++p2;
    continue;
   }
   else
    break;
  }
  if(p3 == p1+nDesLen)
   return true;
  ++p1;
 }
 return false;
}

strlen 还是能用不??

char*   strstr(   const   char*   str1,   const   char*str2)不是又现成的方法吗 <string.h>

返回STR2中第一次出现STR1的位置

上一个:高手帮忙做道c++编程题(算法要简洁清晰)
下一个:高手帮忙一题c++编程题(算法要简洁清晰)

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,