回 帖 发 新 帖 刷新版面

主题:计算str1中的str2的个数

//计算str1中的str2的个数
#include<iostream.h>
int fun(char *str1,char *str2)
{
int size=0;
int str1len;
int str2len;
for(str1len=0;str1[str1len]!=0;str1len++);
for(str2len=0;str1[str2len]!=0;str2len++) ;
for(int i=0;i<str1len;i++)
{
   int j=0 ;
for(;j<str2len;j++)
if(str1[i+j]!=str2[j])
break;
if(j==str2len)
{
++size;
i+=j;
}
}
return size;
}
void main()
{
char str1[1024];
char str2[256];
cout<<"please input a string:"<<endl;
cin.getline(str1,1024) ;
cout<<"please input other string:"<<endl;
cin.getline(str2,256);
cout<<fun(str1,str2);
cout<<endl;

}


哪里错了???

回复列表 (共5个回复)

沙发

使用C++中的cout 算法吧,呵呵。

板凳

cout不是输出流么,咋成算法了?

3 楼

[quote]使用C++中的cout 算法吧,呵呵。[/quote]
先弄明白什么是算法再说

4 楼

for(str2len=0;str1[str2len]!=0;str2len++) ;
求字符串2的长度,所以是str2[str2len]!=0.
求字符串长度直接调用strlen函数就可以了。
if(j==str2len)
{
++size;
i+=j;
}
这里是很容易错的地方,因为for循环里面i自增,
因此,这里就只要加j-1了。

5 楼

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846

我来回复

您尚未登录,请登录后再回复。点此登录或注册