当前位置: 首页 > news >正文

翻转句子中单词的顺序

题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。

例如输入“I am a student.”,则输出“student. a am I”。


 

#include <iostream>
using namespace std;
void reverse_part(char*,int pBegin,int pEnd);
void reverse(char *str)
{
	//n为字符串长度
	int n=strlen(str)-1;
	reverse_part(str,0,n);
	int pBegin=0,pEnd=0;

	while(str[pEnd+1]){
		if(str[pEnd]!=' ' && str[pEnd]!='\0')
			++pEnd;
		//找到空格
		else{
			reverse_part(str,pBegin,pEnd-1);
			//如果下一个还是空格
		    while(str[pEnd+1]!='\0' && str[pEnd+1]==' ')
				++pEnd;
			pBegin=++pEnd;
		}
	}
	cout<<str<<endl;
}

void reverse_part(char *str,int pBegin,int pEnd)
{
	char temp;
	for(int i=pBegin;i<=(pEnd-pBegin)/2;++i){
		temp=str[i];
		str[i]=str[pEnd-i];
		str[pEnd-i]=temp;
	}
}

void main()
{
	char str[]="I am a student.";
	reverse(str);
	system("pause");
}


 

 

转载于:https://www.cnblogs.com/xinyuyuanm/archive/2013/03/27/2985353.html

相关文章:

  • 转 MapGuide HTTP API
  • 倍压整流电路
  • Tomcat中对内存的分配与溢出的处理办法
  • 一个VR 开发工具SDK
  • 关系型数据库基础之:关系型数据库管理系统简介
  • tomcat 随笔小记
  • 反射学习入门篇 (三)--Emit的使用
  • 累赘的shell
  • 运行代码
  • 连接SQL方法
  • 判断数据库的数据是否存在
  • paip.c#使用匿名函数建立委托提高可读性
  • Android之Broadcast, BroadcastReceiver教程-转
  • js判断字符串长度,中文占两个字符
  • 『jQuery』取指定url格式
  • 深入了解以太坊
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • AHK 中 = 和 == 等比较运算符的用法
  • Django 博客开发教程 16 - 统计文章阅读量
  • es6
  • es6(二):字符串的扩展
  • Java面向对象及其三大特征
  • js如何打印object对象
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • PAT A1017 优先队列
  • PHP那些事儿
  • Vue 2.3、2.4 知识点小结
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 多线程事务回滚
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 简单数学运算程序(不定期更新)
  • 前嗅ForeSpider中数据浏览界面介绍
  • 深度学习在携程攻略社区的应用
  • 实现菜单下拉伸展折叠效果demo
  • 想写好前端,先练好内功
  • 一个完整Java Web项目背后的密码
  • hi-nginx-1.3.4编译安装
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (篇九)MySQL常用内置函数
  • (转)创业家杂志:UCWEB天使第一步
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • (转载)Google Chrome调试JS
  • .axf 转化 .bin文件 的方法
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET Micro Framework初体验(二)
  • .NET Reactor简单使用教程
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET/C# 使用反射注册事件
  • .NET中统一的存储过程调用方法(收藏)