2 ihavenofish ihavenofish 于 2016.03.31 20:18 提问

帮忙看看这个代码为什么会超时,有没有什么修改办法(一个字符串在另一个字符串中出现的次数)
c++

#include
#include

using namespace std;

int main()
{
char str1[100];
char str2[100];
while (1)
{
cin>>str1;
cin>>str2;
int a=strlen(str1);
int b=strlen(str2);
int j,i,count=0;
for(j=0;j<a;j++)
{
if(str2[0]==str1[j])
{
i=0;
while(str2[i]==str1[j]&&i<b)
{
i++;
j++;
}
if(i==b)
{
count++;
j--;
}
}
}
cout<<count<<endl;
}
return 0;
}

3个回答

CSDNXIAON
CSDNXIAON   2016.03.31 20:22

java实现查找一个字符串在另一个字符串出现的次数
java一个字符串在另一个字符串中出现的次数
一个字符串在另一个字符串中出现的次数
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

qq423399099
qq423399099   Ds   Rxr 2016.03.31 20:28
stadyhungry
stadyhungry   2016.03.31 22:54
    TCHAR strS[100] = _T("aaabvabcabcaabccabc");
    TCHAR strD[100] = _T("abc");
    int nLenS = _tcslen(strS);
    int nLenD = _tcslen(strD);

    int nCount = 0;
    int i = 0, j = 0, k = 0;
    while(k < nLenS)
    {
        if (strS[k] == strD[j])
        {
            if (nLenD-1 == j)
            {
                nCount++;
                i += nLenD;
                j = 0;
                k++;
                continue;
            }
            j++;
            k++;
        }
        else
        {
            i++;
            k = i;
            j = 0;
        }

    }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!