用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

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语言编程 使单词反转,用C++实现,将一句话里的单词进行倒置的方法详解...相关推荐

  1. c语言字符串倒置,单词倒置,用C++实现,将一句话里的单词进行倒置的方法详解

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

  2. 如何给定二叉树的2个遍历序列(前序中序,中序后序),确定二叉树(方法详解)

    根据前序和中序遍历 给定二叉树 前序(根节点-左节点-右节点):A B D E H C F G 中序(左节点-根节点-右节点):D B E H A F C G 第一步:根据前序就可以判断遍历的第一个就 ...

  3. python核心编程:Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解

    这篇文章主要介绍了Python面向对象程序设计中类的定义.实例化.封装及私有变量/方法,结合具体实例形式较为详细的分析了Python面向对象程序设计中类的定义.实例化.封装.私有变量.私有方法等相关使 ...

  4. JavaScript:实现给定一个句子,返回出现次数最多的单词算法(附完整源码)

    JavaScript:实现给定一个句子,返回出现次数最多的单词算法 // Given a sentence, return the most occurring word/*** @param {st ...

  5. 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。

    给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格. 比如: (1) "hello xiao mi"-> &qu ...

  6. c语言 数字分离编程,C++ 整数拆分方法详解

    一.问题背景 整数拆分,指把一个整数分解成若干个整数的和 如 3=2+1=1+1+1 共2种拆分 我们认为2+1与1+2为同一种拆分 二.定义 在整数n的拆分中,最大的拆分数为m,我们记它的方案数为 ...

  7. c语言memset函数作用,C语言memset函数使用方法详解

    C语言memset函数使用方法详解 一.函数原形   void *  memset(void*s,int ch,size_t n) 二.函数作用  将以s内存地址为首的连续n个字节的内容置成ch,一般 ...

  8. python语言的格式框架_django框架模板语言使用方法详解

    本文实例讲述了django框架模板语言使用方法.分享给大家供大家参考,具体如下: 模板功能 作用:生成html界面内容,模版致力于界面如何显示,而不是程序逻辑.模板不仅仅是一个html文件,还包括了页 ...

  9. c语言 定时器作用,单片机定时器的作用及使用方法详解

    单片机定时器的作用及使用方法详解 单片机定时器在单片机的功能是很重要的,它一般被用作定时功能,来做定时检测.定时响应和定时控制,并且可以产生毫秒宽的脉冲信号来驱动步进电机.计时和计数的最终功能是通过计 ...

最新文章

  1. 机器学习中如何处理缺失数据(NAN和Ifo)?
  2. 更改已经收货的采购订单价格
  3. Blazor WebAssembly 3.2.0 已在塔架就位 将发射新一代前端SPA框架
  4. [css] css的哪个属性可以把所有元素或其父元素的属性重置呢?
  5. python3环境运行python2代码_使用Anaconda实现Python2和Python3共存及相互转换
  6. 安装SQL SERVER 2000遇到的二个问题
  7. 最新计算机操作员高级试题,计算机操作员高级考试试题
  8. 内存管理的概念及作用
  9. Tuxedo 中间件学习心得 一
  10. 纳米磁珠+AI:让液体活检越走越近
  11. matlab仿真add,simulink中add和sum
  12. android dlna uri,android DLNA投屏
  13. 慢下来,等一等自己的灵魂
  14. 嵌入式Linux:安装Ubuntu系统环境
  15. int, long, long long类型的范围
  16. PMP第13章知识点回顾,练习题
  17. u盘格式化后数据能恢复吗?如何1个方法做到u盘格式化数据恢复?
  18. Note For Linux By Jes(20)-Linux 核心编译与管理
  19. 什么是端口?端口号分为几种类型?
  20. openzipkin/brave初步了解

热门文章

  1. 怎么看待传菜机器人_噱头大于实用性 传菜机器人还需配助手
  2. 虫儿飞指法(英式竖笛)
  3. 什么是属于个体的?身份标记
  4. 程序员创业指南,打工是不可能打工的,这辈子都不可能
  5. linux中unzip命令
  6. Adobe Acrobat pro生成PDF模版 java生成PDF
  7. javaScript读取txt文档的FSO对象和ADODB.Stream对象
  8. [附源码]Python计算机毕业设计SSM旅游出行系统(程序+LW)
  9. 不知道TikTok创作者基金怎么提取?
  10. 软件需求工程 课堂笔记7