同学去上海同济城市规划设计研究院时要求上机写的题目
写一个函数bool fun(char*T,char*S)
T为模板字符串,其中*号代表1到n个任意字符,S为匹配字符串。如果匹配 返回TRUE,反之,FALSE。
例如:
ab* 和abc匹配
ab* 和acd不匹配
a*bc和 adebc匹配
a*bc和adebce 不匹配
a*bc和a***bc匹配
b*de*c 和bfddsdessscc 匹配
这个要用到递归,以下是我搜索网络上参考的一个代码后修改的,都测试通过了给出的例子。 #include "stdafx.h" int isMatch (const char *s, const char *p) { if ( !s && !p ) { return 1; } else if ( !s || !p ) { return 0; } while ( *s != '\0' && *p != '\0' ) { if ( (*s == *p)&&(*s!='*') ) { ++s; ++p; continue; } else if ( *p == '*' ) { /* escape all '*' */ while ( *p == '*' ) { ++p; } if ( *p == '\0' ) { return 1; } while ( *s != '\0' ) { if ( *s == *p && isMatch (s+1, p+1) ) { return 1; } ++s; } } else { return 0; } } while ( *p == '*' ) { ++p; } if ((*p == '\0') && (*s == '\0')) { return 1; } return 0; } int _tmain(int argc, _TCHAR* argv[]) { const char *str = "abc"; const char *pattern = "ab*"; if ( isMatch (str, pattern) ) { fprintf (stdout, "match ok!\n"); } else { fprintf (stdout, "match failed!\n"); } return 0; } 之前自己写的没有想到用递归,写得不是很好,最后一个例子没有测试通过。 #include "stdafx.h" #include using namespace std; bool Fun(char *T, char *S) { bool bSingle = false; while((*T!='\0')&&(*S!='\0')) { while ((*T==*S) && (*T!='\0')) { ++T; ++S; } if ((*T=='\0') && (*S!='\0')) { return false; } while (*T == '*') { ++T; } while (*T != *S) { ++S; } } if (*T=='\0') { bSingle = true; } return bSingle; } int _tmain(int argc, _TCHAR* argv[]) { char *T = "ab*"; char *S = "abc"; bool bTemp = Fun(T,S); return 0; }
发表评论
-
有关不调用库函数的字符串操作!
2012-07-06 09:52 708此博客仅作工作、学习,以及技术共享、交流之用。 你可以以 ... -
详细设计文档规范
2012-07-06 09:30 670i am now in university(HI ... -
模拟Google首页(dwr实现ajax) 弹出补全搜索结果
2012-07-05 20:45 912上周末听了在用友工作的两个学长的一个小讲座,虽然时间不长, ... -
初步认识view组件焦点切换原理
2012-07-03 13:44 783这段时间因为自己要实现一套组件焦点切换机制,今天认真研究了 ... -
Flex 调用WEBService 接口实现天气预报功能.
2012-07-02 12:47 638height="364" ... -
Flex做的颜色器
2012-07-02 12:47 554此效果用对象的toString()方法来格式化输出字符串类 ... -
flex LineChart 的demo
2012-07-02 12:47 601... -
[ActionScript3.0][My flex]读书笔记四之 图标模块应用实例
2012-07-02 12:47 5401.chartdata.xml 2.MyCo ... -
flex显示数字时钟和日期
2012-07-02 12:47 634private function init():void{ ... -
Flex代码覆盖率测试工具
2012-07-01 10:11 762lex代码覆盖率测试工具 作者:忙碌命 1.支持函 ... -
Event propagation事件传播
2012-07-01 10:11 684当事件被触发时,F ... -
Flex FileReference 在Firefox 浏览器情况下的异常情况
2012-07-01 10:11 895Question: Flex 3.5 或 Flex 4 + ... -
flex学习-----事件机制的工作流程
2012-07-01 10:11 5208.2 事件机制的工作流程 8.2.1 关于事件流 ... -
Flex事件机制一
2012-07-01 10:11 502一:事件流机制 由于OOP编程将程序看成一个个对象、 ... -
Flex缓存客户端
2012-06-30 16:36 498Flex缓存客户端 2010年11 ... -
flex草芥回收机制.
2012-06-30 16:36 488flex草芥回收机制. 2011年07月19日 原文Un ... -
Flash Game Development with Flex and Actionscript(一)
2012-06-30 16:36 339Flash Game Development with Fle ... -
使用Flex和Actionscript开发Flash游戏―(十)
2012-06-30 16:36 259使用Flex和Actionscript开发 ...
相关推荐
深入浅出的介绍正则表达式,一些IT公司,中兴华为的必考题目
java笔试题重复字符串 内容 一、简介 REGEX 表示 REGular EXpression,它只是字符序列。 例如,这些表达式表示 [0–9] 表示该表达式应包含数字。 正则表达式在计算机编程中的许多情况下使用。 主要在搜索、模式匹配...
写出正则表达式,从一个字符串中提取链接地址.docx
主要介绍了JS经典正则表达式笔试题,结合实例形式汇总分析了javascript正则表达式的经典使用技巧,需要的朋友可以参考下
使用内置方法和标准库:使用 str 的内置方法,用 0 补全右侧,然后使用正则每 8 个字符进行匹配。 1、思路 1:纯手写 def cut_8ch(str): if len(str) str = str.ljust(8, '0') elif len(str) > 8: if (len(str)...
C#字符串和正则表达式参考手册.pdf C#教程.pdf C#编程从入门到精通.rar pdg格式 C#语言基础.doc C#高级编程(权威版).doc 一周学会C#.doc 北大青鸟C#培训课件.rar ppt 大牛们的C#编码习惯.txt 记事本的设计.ppt 各个...
C#字符串和正则表达式参考手册.pdf C#教程.pdf C#编程从入门到精通.rar pdg格式 C#语言基础.doc C#高级编程(权威版).doc 一周学会C#.doc 北大青鸟C#培训课件.rar ppt 大牛们的C#编码习惯.txt 记事本的设计.ppt 各个...
1047. 删除字符串中的所有相邻重复项标签:字符串、栈难度:简单题目大意给定一个全部由小写字母组成的字符串 S,重复的删除相邻且相同的字母,直到相邻字母不再有
腾讯在线笔试题-把字符串“I am from china.”反转成为“I am from china.”,以及把整个字符串逆序。
笔试题项目,字符串压缩,将aabb压缩为a2b2
C++面试题笔试题C++ 数据结构算法笔试题资料合集: 50个C、C++面试题.pdf C++ 数据结构、算法笔试题.docx C++基础面试题.docx C++开发工程师面试题库.docx C++技能测试试卷一及答案.docx C++技能测试试卷二及答案....
新浪微博 2011软件测试工程师在北航的宣讲会笔试题目,
字符串的匹配的汇编代码~这是经常有的题目,不论是试验还是笔试,希望有帮助
c++笔试题汇总c++笔试题汇总c++笔试题汇总c++笔试题汇总c++笔试题汇总c++笔试题汇总c++笔试题汇总c++笔试题汇总
华为,C++,笔试华为,C++,笔试华为,C++,笔试华为,C++,笔试华为,C++,笔试华为,C++,笔试华为,C++,笔试华为,C++,笔试华为,C++,笔试华为,C++,笔试华为,C++,笔试华为,C++,笔试华为,C++,笔试华为,C++,笔试华为,C++,笔试华为,...
C++笔试题 Sony笔试题 几道题目及自做答案 北电 普天C++笔试题 ...雅虎笔试题(字符串操作) C语言最长平台算法 华为3COM C语言题库 将两个无序数组合并为有序链表 上海聚力传媒技术有限公司官方VC笔试题解答
C++ 笔试题汇总 C++ 笔试题汇总 C++ 笔试题汇总 C++ 笔试题汇总
总结的一些笔试过程中的C语言练习题,虽然不会再出现原题但是可以学习学习其中的思想。万变不离其宗。资源主要是关系笔试部分的字符串专项练习。
写出正则表达式,从一个字符串中提取链接地址.docx 出现几率最高和覆盖范围最广的一套经典Java面试题.docx 最新Java编程面试题全集(共50道题+答案).docx 遇到的一些Java面试题回顾.docx 50个C、C++面试题.pdf C++ ...