“说反话”实现字符串反转
2016-04-09 16:20
381 查看
例:输入 “I Love you”,输出“you Love I”;在不使用库函数,不使用sizeof()的情况下:
#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; }当然这只是一种方法。
相关文章推荐
- PAT 乙级 1009.说反话
- PAT乙级 1009 说反话
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 使用命令解锁用户。命令为:alter user username account unlock;
- 第五章:Shiro的授权(Authorization)
- android 创建的删除快捷图标
- 杭电1004
- wince串口通信编程遇到的问题
- VMProtect硬件注册码生成
- 【蓝桥杯】【基础练习02】【十六进制转八进制】
- eclipse最有用快捷键整理
- HDU 3700 Line belt
- 软件过程与项目管理(第六周作业)
- Webservice开发概念
- jQuery不起作用,八成是jQuery语句出错了
- 任务分配
- WordPress主题 DUX原版 Pro Plus 小清新CMS主题带用户中心[更新至1.4]
- ABP源码分析二十六:核心框架中的一些其他功能
- Android RecyclerView添加分隔线 DividerItemDecoration