这篇文章主要介绍了C语言面试中C++字符串替换空格示例,文中给出了基本上可以拿下offer的代码,有需要的朋友可以借鉴参考下,希望大家都能早日拿到心仪的offer
字符串替换空格(多换一)
面试题:
面试题需要考虑规范,算法,代码,可移植性,还有鲁棒性等,考虑了这些之后再下手就会很舒服
首先我看到是%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++字符串替换空格的资料请关注编程学习网其它相关文章!
沃梦达教程
本文标题为:C语言面试C++字符串替换空格示例
基础教程推荐
猜你喜欢
- 详解c# Emit技术 2023-03-25
- C语言基础全局变量与局部变量教程详解 2022-12-31
- C++中的atoi 函数简介 2023-01-05
- C利用语言实现数据结构之队列 2022-11-22
- C++详细实现完整图书管理功能 2023-04-04
- 一文带你了解C++中的字符替换方法 2023-07-20
- C++使用easyX库实现三星环绕效果流程详解 2023-06-26
- C语言 structural body结构体详解用法 2022-12-06
- 如何C++使用模板特化功能 2023-03-05
- C/C++编程中const的使用详解 2023-03-26