C语言面试C++字符串替换空格示例

字符串替换空格(多换一)

面试题:

面试题需要考虑规范,算法,代码,可移植性,还有鲁棒性等,考虑了这些之后再下手就会很舒服

首先我看到是%20替换空格,万一面试官说换其他的然后你很快的改了出来这也是一种本事,所以函数是必不可缺的,也最好有人机交互的样子,反正他有没有说写死.

代码

这里时间复杂度也是O(n),鲁棒性也不错,基本是可以拿下offer的代码

#include<stdio.h>
#include<assert.h>
#include<string.h>
char* replace(char* parr, const char* e1, const char* e2)
{
	assert(e1 && e2);
	char arr2[100] = { 0 };//创建一个数组用来存改变后的字符串
	unsigned int len = strlen(parr);
	unsigned int len1 = strlen(e1);
	unsigned int len2 = strlen(e2);
	int i = 0;//用来跟踪parr
	int j = 0;//用来跟踪arr2
	int z = 0;//用来跟踪e2
	for (i = 0; i < len; i++)
	{
		if (parr[i] != *e1)
		{
			arr2[j++] = *(parr+i);
		}
		else
		{
			for (z = 0; z < len2; z++)
			{
				arr2[j++] = *(e2 + z);
			}
		}
	}
	return arr2;
}

int main()
{
	char arr[100] = { 0 };//给足空间
	while (1)
	{
		printf("请输入原字符串:>");
		gets(arr);
		printf("改变后的字符串为:>%s\n", replace(arr, " ", "%20"));
	}
	return 0;
}

结果

以上就是C语言面试C++字符串替换空格示例的详细内容,更多关于C语言编程C++字符串替换空格的资料请关注我们其它相关文章!

(0)

相关推荐

  • C语言实现去除字符串中空格的简单实例

    在网上看了些去除空格的代码,觉得都不是很简洁,就自己写代码实现它本着高效率,不使用额外存储空间的想法实现该功能去除空格一共有三种: 1.去除全部空格: 2.一种是去除左边空格: 3.去除右边空格  想去除左右两边空格,只要先去除左边再去除右边的就行了 以下是实现代码: /*去除字符串中所有空格*/ voidVS_StrTrim(char*pStr) { char *pTmp = pStr; while (*pStr != '/0') { if (*pStr != ' ') { *pTmp++ =

  • C++ 中String 替换指定字符串的实例详解

    C++ 中String 替换指定字符串的实例详解 C++的string提供了replace方法来实现字符串的替换,但是对于将字符串中某个字符串全部替换这个功能,string并没有实现,我们今天来做的就是这件事. 首先明白一个概念,即string替换所有字符串,将"12212"这个字符串的所有"12"都替换成"21",结果是什么? 可以是22211,也可以是21221,有时候应用的场景不同,就会希望得到不同的结果,所以这两种答案都做了实现, 代码如

  • C语言字符串替换:字符,字符串,字符数组详解

    目录 案例描述 案例分析 必备知识 1,字符数组 (1)字符数组的定义 (2)字符数组的初始化 2,字符串概念 (1)字符串的概念 (2)用字符初始化字符数组 (3)获取字符串的长度 3,字符串与指针 4,字符数组与字符指针 总结 案例描述 字符串替换是处理字符串时最常见的操作之一,也是学习字符串必须掌握的知识.本案例要求通过编程实现字符串"Good moring"到"Good evening"的转换. 案例分析 我们需要从字符串中被替换的位置开始,将要替换的内容逐

  • C++实现将一个字符串中的字符替换成另一个字符串的方法

    本文实例讲述了C++实现将一个字符串中的字符替换成另一个字符串的方法,分享给大家供大家参考.具体方法如下: 题目要求: 原地实现字符串中的每个空格替换成"%20",例如输入"We are happy", 输出"We%20are%20happy" 被替换的字符串当然不仅仅是空格,上面只是个例子 这是道很好的题目,也是百度面试中的一道题,题目不难,但是问题得考虑全面.这里给出如下实现代码: #include <iostream> #inc

  • c++ String去除头尾空格的方法

    本文实例讲述了c++ String去除头尾空格的方法,分享给大家供大家参考.具体实现方法如下: 实现该功能可使用string的find_first_not_of,和find_last_not_of方法,具体实现带如下: 复制代码 代码如下: #include <iostream> #include <string> std::string& trim(std::string &); int main() {     std::string s = " He

  • C++读取带空格字符串的方法

    关于在C++中字符串的输入整理笔记 1. cin cin是C++中最常用的输入语句,当遇到空格或者回车键即停止 如: #include <iostream> #include <string> using namespace std; int main() { chara[50]; cin>>a; cout<<a<<endl; return0; } 输入:abcd遇回车输出abcd 缺点:只能输入没有空格的字符串,当输入中含有空格,则只能输出空格

  • C语言面试C++字符串替换空格示例

    字符串替换空格(多换一) 面试题: 面试题需要考虑规范,算法,代码,可移植性,还有鲁棒性等,考虑了这些之后再下手就会很舒服 首先我看到是%20替换空格,万一面试官说换其他的然后你很快的改了出来这也是一种本事,所以函数是必不可缺的,也最好有人机交互的样子,反正他有没有说写死. 代码 这里时间复杂度也是O(n),鲁棒性也不错,基本是可以拿下offer的代码 #include<stdio.h> #include<assert.h> #include<string.h> cha

  • C语言实现字符串替换的示例代码

    替换,意思就是用另一个字符串str3来替换str1中所有的str2.替换过程和查找的过程可以合并在一起,在上面循环查找的过程中,每找到一个str2,就把它替换为str3,替换后移动指针p.替换的情况分好几种:一种是str2和str3的长度相同,一种是str3比str2长,一种是str3比str2短.第一种情况比较简单,直接使用strncpy函数就可以,后面两种情况,都需要把str1中的元素进行移动.比如,在上面的例子中,str2=“the”,假设str3 =“this”,str3比str2长,为

  • Go语言中的字符串处理方法示例详解

    1 概述 字符串,string,一串固定长度的字符连接起来的字符集合.Go语言的字符串是使用UTF-8编码的.UTF-8是Unicode的实现方式之一. Go语言原生支持字符串.使用双引号("")或反引号(``)定义. 双引号:"", 用于单行字符串. 反引号:``,用于定义多行字符串,内部会原样解析. 示例: // 单行 "心有猛虎,细嗅蔷薇" // 多行 ` 大风歌 大风起兮云飞扬. 威加海内兮归故乡. 安得猛士兮守四方! ` 字符串支持转义

  • Python实现的从右到左字符串替换方法示例

    本文实例讲述了Python实现的从右到左字符串替换方法.分享给大家供大家参考,具体如下: 一 . 前言 需要用到,但是发现python没有从右边开始替换的内置方法,默认的replace只是从左边开始,就索性自己写个,有需求的自己可以在此基础上搞个python hack,给str增加个rreplace方法. 二. 实现 利用python 的其它内置方法,11行代码就可以了 def rreplace(self, old, new, *max): count = len(self) if max an

  • C语言字符串替换空格实例详解

    目录 一.题目描述 二.思路分析 三.整体代码 总结 一.题目描述 请实现一个函数,把字符串 s 中的每个空格替换成"%20". 示例: 输入:s = "We are happy." 输出:"We%20are%20happy." 限制:0 <= s 的长度 <= 10000 二.思路分析 思路 C语言的字符串无法改变大小,所以无法直接在原来的字符串上操作.于是我们先统计空格个数,算出替换后的字符串的大小,并申请一块新内存.(注意要多申

  • Python中的字符串替换操作示例

    字符串的替换(interpolation), 可以使用string.Template, 也可以使用标准字符串的拼接. string.Template标示替换的字符, 使用"$"符号, 或 在字符串内, 使用"${}"; 调用时使用string.substitute(dict)函数. 标准字符串拼接, 使用"%()s"的符号, 调用时, 使用string%dict方法. 两者都可以进行字符的替换. 代码: # -*- coding: utf-8 -

  • C语言大厂面试技巧及strcpy()函数示例详解

    目录 1.什么是优秀的代码? 2.常见的coding技巧有哪些? 3.以模拟实现strcpy为例 (1)了解strcpy()函数 (2)正片开始(危) 1.第一阶段(面试官:最多5分) 2.第二阶段(面试官:最多7分) 3.第三阶段的代码:(面试官:最多8分) 4.第四阶段(面试官:完美代码!10分!) 1.什么是优秀的代码? 1. 代码运行正常 2. bug很少 3. 效率高 4. 可读性高 5. 可维护性高 6. 注释清晰 7. 文档齐全 2.常见的coding技巧有哪些? 1. 使用ass

  • C语言面试C++二维数组中的查找示例

    目录 二维数组中的查找 面试题3: 暴力遍历 动态基点操作 二维数组中的查找 面试题3: 似题: 我做过这个类似的有杨氏矩阵为背景的,实际上是一样的 暴力遍历 二维数组暴力遍历的话时间复杂度为O(n2) 虽然暴力但是应付学校考试这个就是一把好手 #include<stdio.h> //const 就是因为二维数组是定死的 int search(const int arr[4][4], int num,unsigned int* prow,unsigned int* pcol) { int i

随机推荐