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