说反话(c++实现)

描述:给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

输入:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。

输出:每个测试用例的输出占一行,输出倒序后的句子。

inout:Hello World Here I Come

output:Come I Here World Hello

就是要熟练使用string里的函数

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     string a, b,c;
 8     getline(cin, a);
 9     for (int i = 0; i < a.size(); i++)
10     {
11         if (a[i] == ' ')
12         {
13             c.push_back(' ');
14             b.insert(0, c);        //字符串插入函数
15             c.erase(0);            //删除函数
16             continue;
17         }
18         c.push_back(a[i]);
19     }
20     c.push_back(' ');
21     b.insert(0, c);
22     b.erase(b.size() - 1);
23     cout << b << endl;
24     system("pause");
25     return 0;
26 }

还有一种方法是把每个单词当成一个字符串,存在字符串数组了,逆序输出

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     string a[100];
 8     int count = 0;
 9     do
10     {
11         cin >> a[count];
12         count++;
13     } while (getchar() != '\n');
14     for (int i = count - 1; i > 0; i--)
15         cout << a[i] << " ";
16     cout << a[0] << endl;
17     system("pause");
18     return 0;
19 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏猿人谷

C语言函数指针基础

本文写的非常详细,因为我想为初学者建立一个意识模型,来帮助他们理解函数指针的语法和基础。如果你不讨厌事无巨细,请尽情阅读吧。 函数指针虽然在语法上让人有些迷惑,...

462100
来自专栏书山有路勤为径

逆序数

LeetCode 315. Count of Smaller Numbers After Self

7810
来自专栏好好学java的技术栈

“365算法每日学计划”:05打卡-图解冒泡排序(多解法)

11930
来自专栏大闲人柴毛毛

剑指offer代码解析——面试题31连续子数组的最大和

题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组和的最大值。要求时间复杂度为O(n) 分析:统计连续子数...

31190
来自专栏个人分享

替换空格

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

10110
来自专栏数据结构与算法

洛谷P3375 【模板】KMP字符串匹配

题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置。 为了减少骗分的情况,接下来还要输出子串的前缀数组next。 (...

34070
来自专栏猿人谷

C++ STL算法系列1---count函数

一.count函数 algorithm头文件定义了一个count的函数,其功能类似于find。这个函数使用一对迭代器和一个值做参数,返回这个值出现次数的统计结果...

26660
来自专栏向治洪

常用的排序算法和时间复杂度

1. 数据结构部分 数据结构中常用的操作的效率表 通用数据结构查找  插入   删除 遍历  数组 O(N)O(1)O(N)—有序数组O(logN)O(N)O...

369100
来自专栏软件开发 -- 分享 互助 成长

使用数字进行字符遍历

有些时候使用数字进行遍历,然后将数字转化成需要的进制数,再将进制数对应成需要的字符是一种非常有效的方法。 如: 输入一个正整数X,在下面的等式左边的数字之间添加...

236100
来自专栏赵俊的Java专栏

LeetCode 557 Reverse Words in a String III

首先按照空格对字符串进行分隔,然后将每个单词进行翻转后再拼接回字符串即可,需要注意拼接时记得加空格,但最后一个单词不需要加。

10310

扫码关注云+社区

领取腾讯云代金券