翻转
2019-05-25 17:56
99 查看
有一个字符数组的内容为:"student a am i",
请你将数组的内容改为"i am a student".
要求:
不能使用库函数。
只能开辟有限个空间(空间个数和字符串的长度无关)。
student a am i
i ma a tneduts
i am a student
[code] #include <stdio.h> #include <string.h> #include <assert.h> char * fanzhuan(char *str) { assert(str); char *l = str; char *r = str; while(*r != '\0') { r++; } while(l < r-1) { char tmp = *l; *l = *(r-1); *(r-1) = tmp; l++; r--; } l = str; r = str; while(*r != '\0') { while(*r != 32 && *r != '\0') { r++; } char *p = r; while(l < r-1) { char tmp = *l; *l = *(r-1); *(r-1) = tmp; l++; r--; } if(*p == '\0') { return str; } l = p+1; r = p+1; } return str; } int main () { char a[] = "student a am i"; char *ret = fanzhuan(a); printf("%s\n",ret); return 0; }
相关文章推荐
- 翻转子串
- 翻转链表 II
- 翻转课堂随想---个性化定制是革命,也是未来的主流
- 《剑指Offer》面试题:翻转单词顺序
- css3实现卡片翻转
- android中按电源键锁屏然后解锁导致Activity调用onDestory以及如何防止锁屏 翻转屏幕也会触发的情况
- 单词翻转。
- 翻转线性表中的元素
- 动画翻转
- C语言:编写函数将一个整数的二进制位模式从左到右翻转后的值输出
- 编写函数返回值value的二进制模式从左到右翻转后的值
- POJ 百炼 保研机试 4104:单词翻转
- 面试题42-1:翻转单词顺序
- 单词翻转
- iOS立方体翻转3D特效
- flipView翻转demo
- flipdim--按指定维数翻转矩阵
- Python两种列表翻转方法的效率比较
- 翻转链表的C++实现
- 翻转整数的二进制位