题目描述 Description
给出一个英语句子,希望你把句子里的单词顺序都翻转过来
输入描述 Input Description
输入包括一个英语句子。
输出描述 Output Description
按单词的顺序把单词倒序输出
样例输入 Sample Input
I love you
样例输出 Sample Output
you love I
我的思路:
因为以空格隔开,我就在每看到一个空格就记录一次数据,输出,然后把计数器清零,但是似乎跑下来不太对。
代码:
01 #include<iostream>
02 #include<cstring>
03 #include<cstdlib>
04 using namespace std;
05 int main()
06 {
07 string s;
08 getline(cin,s);
09 int n=s.length();
10 int count=0;
11 string tmp;
12 for (int i=n-1;i>=0;i--)
13 {
14 if (s[i]==' ')
15 {
16 for (int i=count-2;i>=0;i--)
17 cout <<tmp[i];
18 cout <<" ";
19 count=0;
20 continue;
21 }
22 else
23 {
24 tmp[count]=s[i];
25 cout <<tmp[count];
26 count++;
27 }
28 }
29 system("pause");
30 return 0;
31 }
给出一个英语句子,希望你把句子里的单词顺序都翻转过来
输入描述 Input Description
输入包括一个英语句子。
输出描述 Output Description
按单词的顺序把单词倒序输出
样例输入 Sample Input
I love you
样例输出 Sample Output
you love I
我的思路:
因为以空格隔开,我就在每看到一个空格就记录一次数据,输出,然后把计数器清零,但是似乎跑下来不太对。
代码:
01 #include<iostream>
02 #include<cstring>
03 #include<cstdlib>
04 using namespace std;
05 int main()
06 {
07 string s;
08 getline(cin,s);
09 int n=s.length();
10 int count=0;
11 string tmp;
12 for (int i=n-1;i>=0;i--)
13 {
14 if (s[i]==' ')
15 {
16 for (int i=count-2;i>=0;i--)
17 cout <<tmp[i];
18 cout <<" ";
19 count=0;
20 continue;
21 }
22 else
23 {
24 tmp[count]=s[i];
25 cout <<tmp[count];
26 count++;
27 }
28 }
29 system("pause");
30 return 0;
31 }