“说反话”实现字符串反转
2016-05-12 23:28
330 查看
例:输入 “I Love you”,输出“you Love I”;在不使用库函数,不使用sizeof()的情况下:
当然这只是一种方法。
![](http://img.baidu.com/hi/jx2/j_0059.gif)
#include<stdio.h> #include<stdlib.h> void reverse_str(char *p,int len) //定义一个反转函数 { char *left = p; char *right = p + len-1; while (left <right) { char tmp = *left; *left = *right; *right = tmp; left++; right--; } } char *reverse(char *p) //将这个字符串中的单词先反转,再将整体反转 { int n = 0; char *arr = p; int count=0; char *p2 = arr; while (*arr) //单词反转 { n++; if (*arr ==' ') { reverse_str(p2,count); //传递单词的首地址和长度 count = -1; p2 =arr+1; } count++; arr++; } reverse_str(p2, count); reverse_str(p, n); //字符串反转 return p; } int main() { char arr[81]; gets(arr); char *ret = reverse(arr); printf("%s\n", ret); system("pause"); return 0; }
当然这只是一种方法。
![](http://img.baidu.com/hi/jx2/j_0059.gif)
相关文章推荐
- 【程序人生】:一篇关于编程思想的体会
- 8、Hibernate框架(ORM详解、主文件配置、映射文件配置)
- 学生成绩统计(C案例)
- 浮点数的存储形式
- C++ MySQL存储二进制数据
- 哲学的初步认识9
- PopupWindow从上弹出
- windows下solrcloud+jetty+内嵌zookeeper伪集群环境搭建
- 剑指offer—数组中只出现一次的数字
- 可变参数列表
- 实验八:SQLite数据库操作
- 【BZOJ3878】[Ahoi2014]奇怪的计算器【线段树】
- sort
- 通过服务来下载APK,并在通知栏显示下载进度(两种方式)
- 内存操作函数
- jQuery 插件
- js 前加感叹号是什么意思?比如 !function(){}(); 答案在这里
- 递归入门 杭电 2042
- 《深入浅出WPF》学习笔记之三
- 关于“幽灵架构”的补充说明5:改造控制器