【练习】翻转句子中单词的顺序
/************************************************************************/
/* 翻转句子中单词的顺序。
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。
例如输入“I am a student.”,则输出“student. a am I”。
思路:
利用STL,不过如此解法,恐怕违背了出题者本意
给出一个准确答案链接http://www.cnblogs.com/youwang/archive/2011/03/05/1971900.html*/
/************************************************************************/#include <iostream>
#include <vector>
#include <string>using namespace std;void reverseSentence();
int main()
{reverseSentence();return 0;
}void reverseSentence()
{cout<<"please input the sentence"<<endl;vector<string> sentence;string s;while (cin){cin>>s;if (cin){sentence.push_back(s);}}while(sentence.size()!=0){s=sentence.back();sentence.pop_back();cout<<s<<" ";}}
符合题意的解法
#include <iostream>using namespace std;
void reverseSentence(char *sentence);
void reverse(char* begin,char *end);int main(){char sentence[16]="I am a student.";reverseSentence(sentence);cout<<sentence<<endl;return 0;}
void reverse(char* begin,char *end)
{if (NULL==begin||NULL==end){return;}char temp;while(begin<end){temp=*begin;*begin=*end;*end=temp;begin++;end--;}}void reverseSentence(char *sentence){if (NULL==sentence){return;}char *begin,*end;begin=sentence;end=sentence;while(*end!='\0')end++;end--;reverse(begin,end);end=begin;while(*begin!='\0'){while(*end!=' '&&*end!='\0')end++;end--;reverse(begin,end);if (*(end++)==' '){end++;}if (*(end++)=='\0'){break;}begin=end;}// end=begin;}
转载于:https://www.cnblogs.com/caidaxia/archive/2011/10/24/2222395.html
【练习】翻转句子中单词的顺序相关推荐
- 程序员面试题精选100题(07)-翻转句子中单词的顺序[算法]
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.句子中单词以空格符隔开.为简单起见,标点符号和普通字母一样处理. 例如输入"I am a student.", ...
- 翻转句子中单词的顺序
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.句子中单词以空格符隔开.为简单起见,标点符号和普通字母一样处理. 例如输入"I am a student.", ...
- python输入一个英文句子、翻转句子中单词的顺序_ODOA(1) 翻转句子中单词的顺序(C语言实现)...
动动手才发现自己现在的在C/C++方向的几个问题: 对自己的入门语言C语言变得非常陌生 编程的思维固定在找既有的方法,主要原因是python写多了,基本上所有常见的问题,都有现成的方法,让自己变得懒惰 ...
- 输入一个英文句子,翻转句子中单词的顺序 例如输入“I am a student.”,则输出“student. a am I”。
package com.atguigu.java; //输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.句子中单词以空格符隔开. //为简单起见,标点符号和普通字母一样处理. //例如 ...
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开,为简单起见,不带标点符号。 例如输入“I am a student”,则通过控制台输出“student a
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开,为简单起见,不带标点符号. 例如输入"I am a student",则通过控制台输出& ...
- 【经典算法】:翻转句子中单词的顺序
题意 翻转句子中单词的顺序. 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变. 句子中单词以空格符隔开.为简单起见,标点符号和普通字母一样处理. 例如输入"I am a ...
- python输入一个英文句子、翻转句子中单词的顺序_Python反转句子中单词的顺序
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.句子中单词以空格符隔开.为简单起见,标点符号和普通字母一样处理. 例如:输入'I am a student.',则输出'student. ...
- 翻转句子中单词的顺序(2015年9月13日)
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变. 句子中单词以空格符隔开.为简单起见,标点符号和普通字母一样处理. 输入"you are so beautiful" ...
- python输入一个英文句子、翻转句子中单词的顺序_H面试程序(4):翻转句子中单词的顺序 ....
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变. 句子中单词以空格符隔开.为简单起见,标点符号和普通字母一样处理. 例如输入"I am a student." ...
最新文章
- 图解|零拷贝Zero-Copy技术大揭秘
- java tcp fin_TCP报文中的SYN,FIN,ACK,PSH,RST,URG
- windows tensorrt python
- Codechef SEAARC Sereja and Arcs (分块)
- 组策略 之 恢复默认组策略对象命令
- esmini接入外部ego车控制
- echarts 树图样式美化_echarts2 tree树图自定义显示缩放大小、位置
- 中超联赛提交函数的c语言,C语言文件操作(File)
- C#创建ActiveX
- php远程调试 没有光标,老法师谈技术 - PHP远程单步调试
- 蓝牙耳机测试软件apk_蓝牙耳机电量显示app下载
- MySQL 中 declare 声明的局部变量和 @var 会话变量的使用介绍
- c#窗体设计 鼠标靠近 控件显示 提示 备注 信息
- sql网上书店项目的实现
- 织梦后台自定义表单,样式美化
- iOS LBS地图服务--高德地图使用大全
- Android 悬浮窗、悬浮球开发
- 学生信息管理系统python
- 计算机图形学算法总结
- 对称加密算法AES联合设备IMEI码设计的加密机制
热门文章
- horizon client 无法识别域_LY-W100摄像头视频定时拍照图像识别分析抄表读表无线远传水表数_水表吧...
- Vue学习(watch、computed、生命周期、filter)- 学习笔记
- python中的多线程----以2个线程卖票为例
- python2.X在linux上的安装
- Python3中的 Filter的改变
- 用BeautifulSoup来写python爬虫
- spring几种获取 HttpServletRequest 对象的方式
- session图片验证码,页面和请求是两个地址。android手机好用,iphone 失效。
- 第九次psp例行报告
- 项目分享:通过使用SSH框架的公司-学员关系管理系统(CRM)