给定一个句子 用c语言编程 使单词反转,用C++实现,将一句话里的单词进行倒置的方法详解...
用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++实现,将一句话里的单词进行倒置的方法详解...相关推荐
- c语言字符串倒置,单词倒置,用C++实现,将一句话里的单词进行倒置的方法详解
用C++语言实现,将一句话中的单词进行倒置(单词之间倒转,单词本身不倒置),标点符号不导致.比如一句话"I come from tianjin. ",倒置后变成"tian ...
- 如何给定二叉树的2个遍历序列(前序中序,中序后序),确定二叉树(方法详解)
根据前序和中序遍历 给定二叉树 前序(根节点-左节点-右节点):A B D E H C F G 中序(左节点-根节点-右节点):D B E H A F C G 第一步:根据前序就可以判断遍历的第一个就 ...
- python核心编程:Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
这篇文章主要介绍了Python面向对象程序设计中类的定义.实例化.封装及私有变量/方法,结合具体实例形式较为详细的分析了Python面向对象程序设计中类的定义.实例化.封装.私有变量.私有方法等相关使 ...
- JavaScript:实现给定一个句子,返回出现次数最多的单词算法(附完整源码)
JavaScript:实现给定一个句子,返回出现次数最多的单词算法 // Given a sentence, return the most occurring word/*** @param {st ...
- 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。
给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格. 比如: (1) "hello xiao mi"-> &qu ...
- c语言 数字分离编程,C++ 整数拆分方法详解
一.问题背景 整数拆分,指把一个整数分解成若干个整数的和 如 3=2+1=1+1+1 共2种拆分 我们认为2+1与1+2为同一种拆分 二.定义 在整数n的拆分中,最大的拆分数为m,我们记它的方案数为 ...
- c语言memset函数作用,C语言memset函数使用方法详解
C语言memset函数使用方法详解 一.函数原形 void * memset(void*s,int ch,size_t n) 二.函数作用 将以s内存地址为首的连续n个字节的内容置成ch,一般 ...
- python语言的格式框架_django框架模板语言使用方法详解
本文实例讲述了django框架模板语言使用方法.分享给大家供大家参考,具体如下: 模板功能 作用:生成html界面内容,模版致力于界面如何显示,而不是程序逻辑.模板不仅仅是一个html文件,还包括了页 ...
- c语言 定时器作用,单片机定时器的作用及使用方法详解
单片机定时器的作用及使用方法详解 单片机定时器在单片机的功能是很重要的,它一般被用作定时功能,来做定时检测.定时响应和定时控制,并且可以产生毫秒宽的脉冲信号来驱动步进电机.计时和计数的最终功能是通过计 ...
最新文章
- mysql与sqlserver之间的关系转换
- 【Flutter】Flutter 项目中使用 Flutter 插件 ( Flutter 插件管理平台 | 搜索 Flutter 插件 | 安装 Flutter 插件 | 使用 Flutter 插件 )
- SQL 经典回顾:JOIN 表连接操作不完全指南
- 使用通用mapper实现条件查询_使用dsum轻松搞定多条件查询,学会它,再也想用sumifs了...
- html js布尔值怎么定义,JavaScript基本类型值-Undefined、Null、Boolean
- [课程设计]任务进度条开发日志目录
- EDAS-机器导入失败
- Spring配置XML本地提示:点击eclipse属性——选择XML Catalog
- 深度学习2.0-23.Keras高层接口之CIFAR10自定义网络实战
- mysql 命令连接,授权用户
- empire-CVE-2018-19462
- 嵌入式状态机编程-QP状态机框架与常见状态机方法
- 2021年电工(初级)考试试卷及电工(初级)考试平台
- java layoutinflater_安卓 LayoutInflater详解
- 链表:头插法与尾插法(简易图解和代码)
- 关于创建String对象的抉择
- 编写一个购物车程序,实现在界面中以列表的形式显示购物车的商品信息,商品信息包括商品名称、价格和数量功能,并能够对购物车中的商品信息进行增删改查
- 近视眼用什么台灯比较好?防近视眼护眼台灯排名
- Java免费获取实时汇率API
- oracle 安装之后
热门文章
- 用Adobe Reader的“朗读”功能实现“少林修女GPS”语音提示
- 大学物理上——知识点总结(思维导图)(已更新)
- BeagleBone Black使用(一):狗板简介
- 关于xlsx-style的安装与修改、vue引用xlsx-style组件
- Python 使用cinrad解析雷达基数据
- 笔试题————网络安全、web安全、渗透测试之笔试总结(二)
- 弱监督目标检测算法论文阅读(六)Erasing Integrated Learning : A Simple yet Effective Approach for Weakly Supervised
- 公务员考试(计算机专业知识),公务员考试计算机专业知识
- 管理好自己的健康下载PPT模板
- es上安装x-park TLS/SSL认证