腾讯面试题
来源:互联网 发布:数据库应用教程 编辑:程序博客网 时间:2024/06/06 03:58
在一篇英文文章中查找指定的人名,人名使用二十六个英文字母(可以是大写或小写)、空格以及两个通配符组成(*、?),通配符“*”表示零个或多个任意字母,通配符“?”表示一个任意字母。
如:“J* Smi??” 可以匹配“John Smith” .
// FindName.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "stdio.h"bool isAlpha(char c){if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))return true;elsereturn false;}void strcpy(char* dest, const char* src, int len){for (int i = 0; i < len; i++){*dest = *src;src++;dest++;}*dest = 0;}void scan(const char* pszText, const char* pszName){int tmp;char nameFind[100];for (int i = 0; pszText[i] != NULL; i++){tmp = i;for (int j = 0; pszName[j] != NULL; j++, tmp++){if (pszName[j] == '*') {while(isAlpha(pszText[tmp]))tmp++;tmp--;continue;}if (pszName[j] == '?'){if (!isAlpha(pszText[tmp])) break;else continue;}if (pszText[tmp] != pszName[j])break;}strcpy(nameFind, pszText+i, tmp - i);if (pszName[j] == NULL)printf("%s", nameFind);}}int main(int argc, char* argv[]){const char pszText[] = "Johcxcn Smith ss Johcxcn Smith";const char pszName[] = "J* Smi??";scan(pszText, pszName);return 0;}
0 0
- 腾讯面试题
- 腾讯笔试面试题
- 腾讯面试题
- 腾讯面试题
- 腾讯经典面试题
- 腾讯面试题
- 腾讯面试题
- 腾讯面试题PHP
- 腾讯PHP面试题
- 腾讯面试题解答
- 腾讯 百度 面试题
- 腾讯iphone面试题
- 腾讯面试题
- 一道腾讯面试题
- 腾讯等面试题
- 腾讯面一个试题
- 腾讯面试题
- 腾讯2011面试题
- 淘宝面试题
- typedef #define
- 筷子 - NJUPT 1851 dp
- POJ 2503 Babelfish map做法
- C++中的单例模式
- 腾讯面试题
- 《计算机程序的构造与解释》(总结)
- HDU 2159---FATE【二维完全背包】
- Hadoop集群(第1期)_CentOS安装配置
- HDU 2669
- 一淘搜索之网页抓取系统分析与实现(4)- 实现&总结
- A - 简单字符串排序
- USACO--1.2 Transformations
- hdu 4862 KM算法 最小K路径覆盖的模型