C++实现单词逆序输出
2017-05-10 18:10
375 查看
C++编程实现单词逆序输出
要是用分段截取或者遍历的话也未免太无聊了
通用性较强的方法,两次逆转,对整个字符串进行逆转,然后根据空格判断每一个单词再逆转
这种流类是个便捷的方式
C++中STL库实在有太多要学习的东西
在此立flag
要是用分段截取或者遍历的话也未免太无聊了
方法1
指针通用性较强的方法,两次逆转,对整个字符串进行逆转,然后根据空格判断每一个单词再逆转
#include <iostream> #include <string> using namespace std; string s; void reverse(int begin,int end) { while (begin < end) { char temp = s[begin]; s[begin] = s[end]; s[end] = temp; ++begin; --end; } } int main() { getline(cin, s); int len = s.length(); int begin = 0; reverse(begin, len-1); for (int i = 0; i < len; i++) { if (s[i] != ' ') { if (i > 0 && s[i - 1] == ' ') { begin = i; } else if (i < len - 1 && s[i + 1] == ' ' || i == len - 1) reverse(begin, i); } } cout << s; return 0; }
方法2
使用STL标准模板库这种流类是个便捷的方式
C++中STL库实在有太多要学习的东西
在此立flag
#include<iostream> #include<string> #include<sstream> #include<list> using namespace std; int main() { string line, word; list<string> s1; getline(cin, line); istringstream stream(line); while (stream >> word) { s1.push_front(word); } cout << endl; for (list<string>::iterator it = s1.begin(); it != s1.end(); ++it) { cout << *it << " " << flush; } return 0; }
相关文章推荐
- C++实现英文句子中的单词逆序输出的方法
- C++实现string类字符串单词的逆序输出
- C++ 实现句子中单词逆序输出
- java栈算法实现单词逆序输出
- C++ 二维字符串数组 实现多组字符串逆序输出
- 使用栈实现单词逆序输出
- 英文句子按单词反序输出的C++实现代码
- c++之 字符串 中的单词逆序输出
- java实现单词逆序输出
- 栈的Java实现与单词逆序输出
- C++ 字符数组的拷贝、拼接、逆序输出 函数的实现
- C语言实现句子单词逆序输出
- Java实现英文句子中的单词顺序逆序输出的方法
- C++刷题——2286: 逆序输出单词(串)
- 递归实现字符串逆序输出(c++和c)
- C++实现读取文件,输出单词
- Stack(栈)的简单应用——实现单词逆序
- 数据结构_图_建立十字链表求有向图中每个顶点的入度出度并输出和它相关的弧_C++实现
- 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
- 逆序输出单词