/************************************************************************/
/*                 翻转句子中单词的顺序。
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。
例如输入“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. python需要php吗-学python需要学linux吗
  2. 搭建eclipse版的ssm+maven+tk.mybatis+redis及mybatis+spring多数据源配置集成的demo
  3. 腾讯发布 2019 年研发报告:新增 12.9 亿行代码,74% 技术 Leader 仍在写代码
  4. 8.4 parted:磁盘分区工具
  5. 如何使用字节序列化双精度数组(二进制增量编码,用于低差单调浮点数据集)...
  6. 登录用户Eclipse中SVN访问用户的变更办法
  7. 输入两个长度相同的字符串,比较两个数在相同位置的字符是否相同
  8. wps电脑版_用好WPS这5个远程协同功能,“宅”家办公啥都不耽误,工作全搞定...
  9. 白月黑羽教python_白月黑羽Python在线教程
  10. C#自定义规则对比两个集合的对象是否相等
  11. html鼠标变成小手_什么牌子的鼠标好用?2020双十一鼠标选购建议和产品推荐
  12. 分析CSS布局中BFC
  13. 对作用域插槽的理解:slot-scope
  14. 乖离率背离公式_通达信指标公式源码操盘K线主图指标
  15. 双线双IP服务器架设传奇SF图文教程
  16. 在解锁Redmi 5A
  17. SAP 权限与角色设计
  18. 笔记本蓝牙显示输入码无效_蓝牙键盘输入码错误无法连接笔记本(win10)
  19. Day621.Spring Test 常见错误 -Spring编程常见错误
  20. 【Android 无法修改App名字】

热门文章

  1. Nginx的异步非阻塞
  2. hibernate防止sql语句注入
  3. 机器学习算法的基础知识
  4. Gora官方文档之二:Gora对Map-Reduce的支持
  5. Spring Boot自定义错误页面
  6. Youtube深度学习推荐系统
  7. fastjson Features 说明
  8. Hive 基础(1):分区、桶、Sort Merge Bucket Join
  9. 一文让你彻底理解 Java HashMap
  10. 利用JavaCSV API来读写csv文件