手机
当前位置:查字典教程网 >编程开发 >C语言 >用C++实现,将一句话里的单词进行倒置的方法详解
用C++实现,将一句话里的单词进行倒置的方法详解
摘要:用C++语言实现,将一句话中的单词进行倒置(单词之间倒转,单词本身不倒置),标点符号不导致。比如一句话“Icomefromtianjin.“...

用C++语言实现,将一句话中的单词进行倒置(单词之间倒转,单词本身不倒置),标点符号不导致。比如一句话“I come from tianjin. “,倒置后变成“tianjin. from come I ”。

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] == '') //字符串的结束符

{

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++实现,将一句话里的单词进行倒置的方法详解】相关文章:

C++输入一个字符串,把其中的字符按照逆序输出的两种方法解析

C语言实现静态链表的方法

c++实现strcat字符串连接库函数的方法详解

C++函数参数取默认值的深入详解

C++对象的动态建立与释放详解

使用C++实现全排列算法的方法详解

数据结构课程设计-用栈实现表达式求值的方法详解

基于C++全局变量的声明与定义的详解

C++中的类模板详解及示例

APUE笔记之:进程环境详解

精品推荐
分类导航