C++面试题之写一个在一个字符串中寻找一个子串第一个位置的函数
来源:互联网 发布:telnet端口命令 编辑:程序博客网 时间:2024/05/08 12:42
#include <iostream>using namespace std;int search_str(char *strDest ,const char *strSrc, int n ){ int count = 1; //将搜索的字符串保存在临时指针变量a中 char * a = strDest; //开始搜索 while(*strSrc != '\0') { //让strDest指向a,即字符串的第一个字符,目的是在一次比较之后,让strDest指回字符串的首部。 strDest = a; //判断strSrc和strDest的当前字符是否相等 if (*strSrc == *strDest) { //当这两个字符串的当前字符相等,判断它们是否是连续相等 while (*strDest != '\0') { //如果相等,往后判断,直到不满足循环条件,若不等,跳出该循环 if (*strSrc == *strDest) { count++; strSrc++; strDest++; } else { break; } } } //判断所要搜索的字符串是否遍历完,若遍历完,则表示已找到完全相等的,跳出整个循环。否则继续寻找下一个相等的部分。 if (*strDest == '\0') { break; } count++; strSrc++; } //用寻找完的总长度 - 所需搜索的字符串长度,即为它在被所搜索字符串的位置。 return count - n;}int main(int argc, const char * argv[]) { char a[50]; char b[50]; cout<<"请输入第一个字符串a:"<<endl; cin>>a; cout<<"请输入第二个字符串b,寻找其第一个字符在a中的位置:"<<endl; cin>>b; int i = 0; //计算所需搜索的字符串的长度 while (b[i] != '\0') { i++; } cout<<"b的第一个字符在a中的位置为:第"<<search_str(b,a,i)<<endl; return 0;}
实例结果:
请输入第一个字符串a:
zhangqifangyouangfu
请输入第二个字符串b,寻找其第一个字符在a中的位置:
angf
b的第一个字符在a中的位置为:第15
欢迎指点指点。O(∩_∩)O谢谢
0 0
- C++面试题之写一个在一个字符串中寻找一个子串第一个位置的函数
- 写一个在一个字符串(n)中寻找一个子串(m)第一个位置的函数
- 写一个在一个字符串(n)中寻找一个子串(m)第一个位置的函数
- 写一个在一个字符串(n)中寻找一个子串(m)第一个位置的函数
- 写一个在一个字符串(n)中寻找一个子串(m)第一个位置的函数
- 面试题35:寻找一个字符串中最长的重复子串
- AS3 面试题35 在一个字符串中找出第一个只出现一次的字符
- 寻找一个字符串中连续出现次数最多的子串(面试宝典14.5节面试题1)
- [经典面试题][搜狗]在一个字符串中寻找包含全部出现字符的最小字串
- 算法与数据结构面试题(21)-在一个字符串中找到第一个只出现一次的字符
- 4.写一个控制台应用程序,接收一个长度大于3的字符串,完成下列功能: 1)输出字符串的长度。 2)输出字符串中第一个出现字母a的位置。 3)在字符串的第3个字符后面插入子串“hello”,输出新字符串。 4)将字符串“hello”替换为“me”,输出
- 一道值得深思的面试题:写一个函数,返回一个数组中所有元素被第一个元素除的结果。
- C++面试题之写一个函数找出一个整数数组中,第二大的数
- C++实现在一个字符串中寻找最大子串
- 在网上看到了一个面试题感觉很有意思 写一个函数,实现字符串反转
- 《c程序设计语言》读书笔记-第二个字符串任意一个在第一个字符串出现的位置,未出先返回-1
- 寻找一个字符串中最长的重复子串
- 寻找一个字符串中最长的重复子串
- 链表(LinkedList) Java 语言实现
- hdu 5317 RGCDQ (素因子个数的GCD)
- 洛克菲勒留给儿子的38封信
- ORACLE:分区表range,hash,list
- Python re 正则模块
- C++面试题之写一个在一个字符串中寻找一个子串第一个位置的函数
- Snail—UI学习之系统标签栏UITabBarController
- [HDU 2065] "红色病毒"问题 数论
- HDOJ~~ u Calculate e
- hls 的一些体会
- hdoj 1856 More is better [并查集]
- HDOJ 1879 继续畅通工程(最小生成树--kruskal)
- oc语言的学习
- 通过金矿模型介绍动态规划