题目
解题思路:
我们先看这个题目要把句子反转 ,直接用我们先进后出的数据结构 stack
- 用 cin >> op 当 op 读到空格 \n ,EOF时候出栈 否者就添加到栈中
- 当读到 \n 或EOF 的时候结束一次输入
#include<iostream> #include<stack> using namespace std; int main() { int n; cin >> n; while(n--) // 表示n次输入 { stack<char> s; char op; cin >> op; if(op==' '|| op=='\n'|| op==EOF) // 当读取到 这些字符的时候开始出栈 { while(!s.empty()) { cout << s.top(); s.pop(); } if(op=='\n'||op==EOF) //读取到一个句子的末尾 结束循环 break; cout << ' '; } else { s.push(op); 入栈 } cout << endl; } }