用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. mysql与sqlserver之间的关系转换
  2. 【Flutter】Flutter 项目中使用 Flutter 插件 ( Flutter 插件管理平台 | 搜索 Flutter 插件 | 安装 Flutter 插件 | 使用 Flutter 插件 )
  3. SQL 经典回顾:JOIN 表连接操作不完全指南
  4. 使用通用mapper实现条件查询_使用dsum轻松搞定多条件查询,学会它,再也想用sumifs了...
  5. html js布尔值怎么定义,JavaScript基本类型值-Undefined、Null、Boolean
  6. [课程设计]任务进度条开发日志目录
  7. EDAS-机器导入失败
  8. Spring配置XML本地提示:点击eclipse属性——选择XML Catalog
  9. 深度学习2.0-23.Keras高层接口之CIFAR10自定义网络实战
  10. mysql 命令连接,授权用户
  11. empire-CVE-2018-19462
  12. 嵌入式状态机编程-QP状态机框架与常见状态机方法
  13. 2021年电工(初级)考试试卷及电工(初级)考试平台
  14. java layoutinflater_安卓 LayoutInflater详解
  15. 链表:头插法与尾插法(简易图解和代码)
  16. 关于创建String对象的抉择
  17. 编写一个购物车程序,实现在界面中以列表的形式显示购物车的商品信息,商品信息包括商品名称、价格和数量功能,并能够对购物车中的商品信息进行增删改查
  18. 近视眼用什么台灯比较好?防近视眼护眼台灯排名
  19. Java免费获取实时汇率API
  20. oracle 安装之后

热门文章

  1. 用Adobe Reader的“朗读”功能实现“少林修女GPS”语音提示
  2. 大学物理上——知识点总结(思维导图)(已更新)
  3. BeagleBone Black使用(一):狗板简介
  4. 关于xlsx-style的安装与修改、vue引用xlsx-style组件
  5. Python 使用cinrad解析雷达基数据
  6. 笔试题————网络安全、web安全、渗透测试之笔试总结(二)
  7. 弱监督目标检测算法论文阅读(六)Erasing Integrated Learning : A Simple yet Effective Approach for Weakly Supervised
  8. 公务员考试(计算机专业知识),公务员考试计算机专业知识
  9. 管理好自己的健康下载PPT模板
  10. es上安装x-park TLS/SSL认证