首页 > 编程 > C++ > 正文

详解C++实现单词进行倒置的方法

2020-02-24 14:31:11
字体:
来源:转载
供稿:网友

在C++语言中,句子中的词是倒置的,单词之间倒置,标点符号不会倒置,本文是武林技术频道小编为大家分享的详解C++实现单词进行倒置的方法,希望对你学习这方面知识有帮助!
C常见的库函数有:

 

int  strstr(const char* string,const char* substring)   用于返回主串中子串的位置以后的所有字符。比如主串是“123456789”,子串是“234”,则返回“23456789”。
char*   strcpy(char* DestStr,const char* SrcStr)   复制字符串函数  
int    strcmp(const char* str1,const char* str2)    比较两个字符串  
char*  strcat(char* destStr,const char* srcStr)      连接字符串  


没有太合适题意的库函数,因此想办法不用库函数,自己进行倒置。下面的是自己的实现,不足之处,还望指正!!!

 

 

 


#include "stdafx.h"
#include <iostream>
using namespace std;
char *strReverse(char * sourcestr)
{
 int j = 0, i = 0,begin,end;
 char *str = sourcestr;
 char temp;
 j = strlen(str) - 1;
 cout << " string = " << str << endl;
 //先将字符串进行全部倒转 变成 .nijnaiT morf emoc I
 while (j > i)
 {
  temp = str[i];
  str[i] = str[j];
  str[j] = temp;
  j --;
  i ++;
 }
 cout << " string = " << str << endl;
 //然后进行按单词部分反转,遇到空格,则判断出一个单词结束
 i = 0;
 while (str[i])
 {
  if (str[i] != ' ')
  {
   begin = i;
   while (str[i] && str[i] != ' ')
   {
    end = i;
    i++;
   }
   if (str[i] == '/0') //字符串的结束符
   {
    i--;
   }
  }
  while (end > begin)
  {
   temp = str[begin];
   str[begin] = str[end];
   str[end] = temp;
   end --;
   begin ++;
  }
  i ++;
 }
 cout << " string = " << str << endl;
 return str;
}
int _tmain(int argc, _TCHAR* argv[])
{
 char str[] = "I come from Tianjin.";
 strReverse(str);
 return 0;
}

以上就是详解C++实现单词进行倒置的方法,想要学习编程知识的同学,可以多多关注武林技术频道网,武林技术频道网值得您选择。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表