C语言面试C++字符串替换空格示例
字符串替换空格(多换一)
【C语言面试C++字符串替换空格示例】面试题:
文章图片
面试题需要考虑规范,算法,代码,可移植性,还有鲁棒性等,考虑了这些之后再下手就会很舒服
首先我看到是%20替换空格,万一面试官说换其他的然后你很快的改了出来这也是一种本事,所以函数是必不可缺的,也最好有人机交互的样子,反正他有没有说写死.
代码
这里时间复杂度也是O(n),鲁棒性也不错,基本是可以拿下offer的代码
#include#include#includechar* 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++字符串替换空格的资料请关注脚本之家其它相关文章!
推荐阅读
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- 一起来学习C语言的字符串转换函数
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- opencv|opencv C++模板匹配的简单实现
- C语言浮点函数中的modf和fmod详解
- C语言中的时间函数clock()和time()你都了解吗
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- 2018国考外交部面试演讲不再难——只需把握好三点
- iOS面试题--基础
- C语言解方程的根和判断是否是闰年