Chinaunix首页 | 论坛 | 博客
  • 博客访问: 86738
  • 博文数量: 56
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 730
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-06 14:50
文章分类
文章存档

2013年(56)

我的朋友

分类: C/C++

2013-11-05 11:26:51

 废话不多说,我们直接上代码:

  // 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<

  char * p2 = (char *)malloc(strlen(str));

  p2 = strCopy(p2, str);

  cout<

  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;

  }

阅读(408) | 评论(0) | 转发(0) |
0

上一篇:C++中获取所有可能的组合

下一篇:没有了

给主人留下些什么吧!~~