注册 登录
编程论坛 C++教室

求高人指点算法

czyhzc 发布于 2012-04-24 11:07, 464 次点击
字符串检测函数void check(char* str,char* tmp)
例如:
tmp="c"
输入:chengdu chongqing  输出:chengdu chongqing
tmp="che"
输入:chengdu chongqing 输出:chengdu
tmp="jing"
输入:beijing nanjing 输出:
tmp:"nan"
输入:beijing nanjing 输出:nanjing


自己写了这个字符串检测函数总是不理想,求高人指教
8 回复
#2
rjsp2012-04-24 11:57
怎么检查你要说明一下嘛,你不能让别人去瞎猜
我猜你想要strstr类似的功能,但就不知道
tmp="jing"
输入:beijing nanjing 输出:
输出为什么为空?
#3
czyhzc2012-04-25 10:49
回复 2楼 rjsp
tmp="jing"的时候输出结果为空,是因为输入beijing nanjing从第一个字符开始检查,如果前几个字符不是jing的话,就继续检查空格之后的字符串,如果有jing那就输出其后的字符,直到空格为止,继续重复
比如 输入为:beijing nanjing jingcheng chengdu jingdu     tmp="jing"
输出:jingcheng jingdu
#4
czyhzc2012-04-25 10:58
还有个要求,不能使用STL
#5
rjsp2012-04-25 12:09
不能使用STL
------ 这是个什么鸟“要求”
#6
czyhzc2012-04-25 14:51
这是**公司的一道考题,就是这样要求的
#7
czyhzc2012-04-25 20:25
求高手啊
#8
pangding2012-04-29 10:44
如果对效率没有什么太高的要求,就用最直观的算法就行了。
打到空格开始比较,如果词头能匹配上就输出。然后继续往后。strncmp 呀 strchr 的函数用起来就行,不属于 STL。
#9
BianChengNan2012-05-01 15:36
这么简单的面试题?可以直接使用现成的匹配函数吗?直接按空格分,然后调用匹配函数搞定
1