/************************************************************************/
/*                 翻转句子中单词的顺序。
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。
例如输入“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

【练习】翻转句子中单词的顺序相关推荐

  1. 程序员面试题精选100题(07)-翻转句子中单词的顺序[算法]

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

  2. 翻转句子中单词的顺序

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

  3. python输入一个英文句子、翻转句子中单词的顺序_ODOA(1) 翻转句子中单词的顺序(C语言实现)...

    动动手才发现自己现在的在C/C++方向的几个问题: 对自己的入门语言C语言变得非常陌生 编程的思维固定在找既有的方法,主要原因是python写多了,基本上所有常见的问题,都有现成的方法,让自己变得懒惰 ...

  4. 输入一个英文句子,翻转句子中单词的顺序 例如输入“I am a student.”,则输出“student. a am I”。

    package com.atguigu.java; //输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.句子中单词以空格符隔开. //为简单起见,标点符号和普通字母一样处理. //例如 ...

  5. 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开,为简单起见,不带标点符号。 例如输入“I am a student”,则通过控制台输出“student a

    输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开,为简单起见,不带标点符号. 例如输入"I am a student",则通过控制台输出& ...

  6. 【经典算法】:翻转句子中单词的顺序

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

  7. python输入一个英文句子、翻转句子中单词的顺序_Python反转句子中单词的顺序

    输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.句子中单词以空格符隔开.为简单起见,标点符号和普通字母一样处理. 例如:输入'I am a student.',则输出'student. ...

  8. 翻转句子中单词的顺序(2015年9月13日)

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

  9. python输入一个英文句子、翻转句子中单词的顺序_H面试程序(4):翻转句子中单词的顺序 ....

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

最新文章

  1. 图解|零拷贝Zero-Copy技术大揭秘
  2. java tcp fin_TCP报文中的SYN,FIN,ACK,PSH,RST,URG
  3. windows tensorrt python
  4. Codechef SEAARC Sereja and Arcs (分块)
  5. 组策略     之   恢复默认组策略对象命令
  6. esmini接入外部ego车控制
  7. echarts 树图样式美化_echarts2 tree树图自定义显示缩放大小、位置
  8. 中超联赛提交函数的c语言,C语言文件操作(File)
  9. C#创建ActiveX
  10. php远程调试 没有光标,老法师谈技术 - PHP远程单步调试
  11. 蓝牙耳机测试软件apk_蓝牙耳机电量显示app下载
  12. MySQL 中 declare 声明的局部变量和 @var 会话变量的使用介绍
  13. c#窗体设计 鼠标靠近 控件显示 提示 备注 信息
  14. sql网上书店项目的实现
  15. 织梦后台自定义表单,样式美化
  16. iOS LBS地图服务--高德地图使用大全
  17. Android 悬浮窗、悬浮球开发
  18. 学生信息管理系统python
  19. 计算机图形学算法总结
  20. 对称加密算法AES联合设备IMEI码设计的加密机制

热门文章

  1. horizon client 无法识别域_LY-W100摄像头视频定时拍照图像识别分析抄表读表无线远传水表数_水表吧...
  2. Vue学习(watch、computed、生命周期、filter)- 学习笔记
  3. python中的多线程----以2个线程卖票为例
  4. python2.X在linux上的安装
  5. Python3中的 Filter的改变
  6. 用BeautifulSoup来写python爬虫
  7. spring几种获取 HttpServletRequest 对象的方式
  8. session图片验证码,页面和请求是两个地址。android手机好用,iphone 失效。
  9. 第九次psp例行报告
  10. 项目分享:通过使用SSH框架的公司-学员关系管理系统(CRM)