题目描述:
JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
输入:
每个测试案例为一行,表示一句英文句子。
我们保证一个句子的单词数不会超过600,每个单词的长度也不会超过30。但是需要注意的是Fish是个不拘小节的人,有时候两个单词中间可能会有很多空格。为了方便起见,你可以认为一行的字符总数不会超过50000个,标点符号可以和普通字母一样处理。
输出:
对应每个测试案例,把翻转后的正确的句子单独输出一行。

样例输入:

student. a am I
I'm a Freshman and I like JOBDU!
样例输出:
I am a student.
JOBDU! like I and Freshman a I'm

【解题思路】本题应该是传统的题型的变形,我们可以先读入一行,然后从最后的字符开始处理,对于字符串我们使之逆序输出,对于空格原样输出。

    本题注意两点:空格需要原样输出,不管有多少个;另外,利用gets函数读入一行效率要比getline更高。
AC code:
#include <cstdio>
#include <string>
#include <cstring>
#include <iostream>
using namespace std; int main()
{
char str[50005];
while(gets(str))
{
int len=strlen(str),idx=len-1;
while(idx>=0)
{
while(idx>=0 && str[idx]==' ') putchar(str[idx--]);
int end=idx;
while(idx>=0 && str[idx]!=' ')--idx;
if(end==-1) break;
for(int i=idx+1;i<=end;++i)
putchar(str[i]);
}
printf("\n");
}
return 0;
}
/**************************************************************
Problem: 1361
User: huo_yao
Language: C++
Result: Accepted
Time:50 ms
Memory:1520 kb
****************************************************************/
题目链接:http://ac.jobdu.com/problem.php?pid=1361

九度-剑指Offer习题全套答案下载:http://download.csdn.net/detail/huoyaotl123/8276299

最新文章

  1. pagebean pagetag java 后台代码实现分页 demo 前台标签分页 后台java分页
  2. DoD and DoR
  3. response项目的各个写法
  4. 扫盲如何在ECLIPSE中使用条件断点
  5. tryparse的用法,^0*[1-9]\d*$
  6. 通过SQL进行远程访问
  7. ulimit 说明
  8. Cannot open the disk &#39;F:\centos64-final\CentOS 64-bit\CentOS 64-bit.vmdk&#39; orone of the snapshot disk
  9. protobuf 原理
  10. HTTP协议6之状态码--转
  11. URLSearchParams 接口
  12. 用github搭建网站
  13. 如何避免Scrum敏捷开发团队反思会形式化,海星法介绍
  14. 关于LVS+Nginx为什么会被同时使用的思考
  15. 关于 java,nio,bufferedreader,bytebuffer
  16. elasticsearch5使用snapshot接口备份索引
  17. in 型子查询引出的陷阱
  18. Android 音视频开发入门指南
  19. Storm-源码分析-Topology Submit-Worker
  20. div的隐藏占用空间位置关系

热门文章

  1. Linux shell tr 命令详解
  2. Platform device/driver注册过程
  3. yii2 password hash生成与验证方法
  4. P&amp;R --From 陌上风骑驴看IC
  5. vue 实现 多个 数字滚动增加动效
  6. 清华大学慕课 (mooc) 数据结构-邓俊辉-讲义-合并版
  7. linux中的diff命令
  8. buuctf admin writeup
  9. flask 前端 分页 显示
  10. VMware安装ACS5.8