字符串两次翻转
2013-10-22 22:42
169 查看
// test.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "iostream" using namespace std; void reverse(char * ps, char * pn); char * strprocess(char * str); char * strCopy(char * dst, const char * src); int main(int argc, char * argv[]) { char str[] = "could you tell me how to complete this problem"; char * p = strprocess(str); cout<<p<<endl; char * p2 = (char *)malloc(strlen(str)); p2 = strCopy(p2, str); cout<<p2<<endl; system("pause"); return 0; } char * strprocess(char * str) { if(str == NULL || *str == '\0') return NULL; char * ps = str; char * pn = str; while(*pn != '\0') pn++; pn--; reverse(ps, pn); ps = str; while(*ps != '\0') { pn = ps; while(*pn != '\0' && *pn != ' ' ) pn++; reverse(ps, pn - 1); if(*pn == '\0') break; ps = pn + 1; } return str; } void reverse(char * ps, char * pn) { while(ps <= pn) { char temp = *ps; *ps = *pn; *pn = temp; ps++; pn--; } } // copy str char * strCopy(char * dst, const char * src) { if(dst == NULL || src == NULL) return NULL; char * strDest = dst; while((*dst++ = *src++)!='\0'); return strDest; }
相关文章推荐
- c语言简单的字符串翻转
- 编程珠玑 Chapter2 字符串翻转算法
- StringBuffer实现字符串翻转
- 面试字符串处理之单词翻转
- 翻转单词顺序&左旋转字符串
- HDOJ/HDU 1062 Text Reverse(字符串翻转~)
- 将一个字符串翻转
- 翻转单词顺序 VS 左旋转字符串
- PHP如何实现字符串翻转?
- itoa 和 atoi和字符串翻转等操作
- 每日算法题三道之字符串循环移动以及词语的翻转
- JavaScript实现-字符串翻转-Reverse a String
- 字符串翻转
- 字符串翻转
- 数组翻转 字符串翻转
- 字符串中单词的翻转
- Python翻转字符串或者列表的方式
- 字符串翻转
- Arrays_Strings 翻转字符串 @CareerCup
- 错了两次,就是知先序和中序求后序的,但是不能用字符串,因为输入中间有空格,输出也有空格