| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 508 人关注过本帖
标题:[求助]今天做了三个小时,小弟笨,做不出,是字符串的问题,可以来看看吗?
只看楼主 加入收藏
autumnluo
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-12-7
收藏
 问题点数:0 回复次数:3 
[求助]今天做了三个小时,小弟笨,做不出,是字符串的问题,可以来看看吗?
编写一个函数,测试一个指定字符串是否存在一个指定的字符串中.若是,则反回该字符在串中第一次出现的位置.
搜索更多相关主题的帖子: 字符 
2006-03-14 13:02
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 

void CTestTmp123Dlg::OnButton1()
{
char charar1[] = "I have an apple, aaa, aabb, abb", charar2[] = "abb", *p;
int intPosition;
// 下面四行用C的库函数,没找到返回-1
if (p = strstr(charar1, charar2))
intPosition = (p - charar1);
else
intPosition = -1;

// 下面四行用VC++的库函数,没找到返回-1
intPosition = CString(charar1).Find(charar2);

// 下面是自己写的不用任何库函数的方法,没找到返回-1
intPosition = StrStr(charar1, charar2);
}

int CTestTmp123Dlg::StrStr(char charar1[], char charar2[])
{
int intCheckStart, intState;
for (intCheckStart = 0; intCheckStart < strlen(charar1)-strlen(charar2); intCheckStart++)
{
intState = 0;
while (charar1[intCheckStart+intState] == charar2[intState] && intState < strlen(charar2))
intState++;
if (intState == strlen(charar2)) // find the match
return intCheckStart;
}
return -1;
}


http://myajax95./
2006-03-15 04:38
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 
上面自己写的函数好像有点太简单了,最坏情况下复杂度会比较高,不过要是应付一下考试之类的也凑合了。

http://myajax95./
2006-03-15 04:44
jpg4151
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2006-3-12
收藏
得分:0 

以下c++代码在vc++6.0 中可正确运行
#include <iostream.h>
#include "string.h"
char charar1[] = "aaabb,abb", charar2[] = "abb";
int f(char a[],char b[])
{int l1=strlen(a),l2=strlen(b),i,j,i0,c=0;
for(i=0;i<=l1-l2;i++)

{c=0;
for(i0=i,j=0;j<l2;j++)
if(a[i]==b[j])
{i++;
c++;}
i=i0;
if(c==l2)
{
return i;
}
}
return -2;//找不到返回-2
}
void main()
{cout<<f(charar1,charar2)<<endl;
}

2006-03-15 21:40
快速回复:[求助]今天做了三个小时,小弟笨,做不出,是字符串的问题,可以来看看吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021532 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved