Chinaunix首页 | 论坛 | 博客
  • 博客访问: 64191
  • 博文数量: 96
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 852
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-13 20:47
个人简介

扎斯特都恩特

文章分类

全部博文(96)

文章存档

2018年(1)

2017年(2)

2016年(82)

2015年(11)

我的朋友

分类: C/C++

2016-09-25 10:37:30


点击(此处)折叠或打开

  1. #include "stdafx.h"
  2. #include "string.h"
  3. #include "stdlib.h"

  4. #define MAX_STR_LEN 256
  5. /*ZG:将输入的英文语句,反向输出
  6. *eg:
  7. *Input :"I am a student"
  8. *Output:"student a am I"
  9. */
  10. int revert_en_sentence(char *pIn,char *pOut)
  11. {
  12.     int i = 0, len = 0;
  13.     if(NULL==pIn || NULL==pOut)
  14.     {
  15.      return -1;
  16.     }
  17.     char *pI = pIn;
  18.     char *pO = pOut;
  19.     char *pT = pIn;

  20.     printf("%s\n",pI);
  21.     /*先将pT移至最后一字符*/
  22.     while('\0'!=*pT)
  23.     {
  24.      pT++;
  25.     }
  26.     pT--;//回退一个char,指向倒数第一个非'\0'字符

  27.     while(pT!=pI)
  28.     {
  29.      if(' '!=*pT)
  30.         {
  31.          pT--; //有循环找出口
  32.             len++;
  33.             continue;
  34.         }
  35.         else
  36.         {
  37.          for(i=0;i<len;i++)
  38.          {
  39.          *pO = pT[i+1];
  40.          pO++;
  41.          }
  42.          *pO = ' ';
  43.          pO++;
  44.          len = 0;
  45.          pT--;
  46.         }

  47.     }

  48.     for(i=0;i<=len;i++)
  49.     {
  50.      *pO = pT[i];
  51.      pO++;
  52.     }
  53.     
  54.     pO++;
  55.    *pO = '\0';

  56.    pOut = pO;

  57. }

  58. int _tmain(int argc, _TCHAR* argv[])
  59. {
  60.     char array [MAX_STR_LEN] = "I am a student";
  61.     //char array [MAX_STR_LEN] = "student";
  62.     char strout[MAX_STR_LEN] = "";
  63.     
  64.     revert_en_sentence(array,strout);
  65.     
  66.     printf("%s\n",strout);

  67.     system("pause");
  68.     return 0;
  69. }


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

上一篇:SVN

下一篇:OJ 源自赛马

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