反转诗句

简介: t2754:反转诗句 总时间限制:1000ms 内存限制:65536kB描述你手中有些从右向左读的诗句,比如“rose red red a like is luve my O”。现在为了阅读这些美妙的诗句,你要把这些语句反转成正常的从左到右,即“O my luve is like a red red rose”。

t2754:反转诗句

总时间限制:1000ms 内存限制:65536kB
描述
你手中有些从右向左读的诗句,比如“rose red red a like is luve my O”。
现在为了阅读这些美妙的诗句,你要把这些语句反转成正常的从左到右,即“O my luve is like a red red rose”。
输入
每一行为原来从右向左读的诗句S。该诗句中不包含任何标点符号,单词间以空格隔开。每条诗句最多包含 50个单词,每个单词最多包含50个字符。
输出
每一行为正常的从左到右读的诗句。
样例输入
rose red red a like is luve my O
June in sprung newly That's
melodie the like is luve my O
tune in played sweetly That's
样例输出
O my luve is like a red red rose
That's newly sprung in June
O my luve is like the melodie
That's sweetly played in tune

注释:这个题目其实就是翻转句子当中所有单词的顺序
(注意不是修改每一个单词中字母的顺序,而是修改单词在句子中的顺序)
本题需要注意的是:单词之间若是有多个空格要如何处理呢?若是直接用scanf或cin输入每一个单词,
然后像栈一样从栈顶到栈底输出每一个元素。这样就会忽略单词之间有多个空格的情况,无法输出单词间的多个空格。
所以要一次输入一整行,保存该行所有字符,然后再处理。其实这个做法在以前有过题目的。

http://www.cnblogs.com/huashanqingzhu/p/3457758.html
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5 int main()
 6 {
 7     char a[5000] = "";
 8     int n, i, j;
 9     //freopen("5.in","r",stdin);
10     while(gets(a))
11     {
12         n = strlen(a);
13         for(i=n-1;i>=0;i--)
14         {
15             if(a[i]==' ')
16             {
17                 for(j=i+1;a[j]!=' '&&a[j]!='\0';j++)
18                     cout<< a[j];
19                 cout<<" ";
20             }
21         }
22         for(i=0;a[i]!=' '&&a[i]!='\0';i++)
23             cout<<a[i];
24         cout << endl;
25     }
26     return 0;
27 }

 

相关文章
|
27天前
|
存储 Java
整数反转
题目要求将32位有符号整数的每一位数字反转,并考虑溢出情况。提供了两种Java实现:一种通过字符串操作实现,另一种使用数学运算,后者更为高效且简洁。两种方法均在检测到溢出时返回0。
29 0
|
2月前
|
Python
07_整数反转2021-04-18
07_整数反转2021-04-18
13 0
|
5月前
|
API
用栈翻转字符串
用栈翻转字符串
35 0
|
6月前
7.整数反转
7.整数反转
|
7月前
|
存储 C++
整数反转(C++)
整数反转(C++)
40 0
|
存储
整数反转1
整数反转1
71 0
|
存储 Rust 算法
整数反转
整数反转
128 0
整数反转
LeetCode 06Z字形变换&07整数反转
将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:
123 0
LeetCode 06Z字形变换&07整数反转
|
Java
将一个字符串进行反转。将字符串中指定部分进行反转。比如“abcdefg”反 转为”abfedcg”
将一个字符串进行反转。将字符串中指定部分进行反转。比如“abcdefg”反 转为”abfedcg”
178 0
|
存储 算法
重构链表(反转、交换与旋转)
重构链表(反转、交换与旋转)
重构链表(反转、交换与旋转)