题目描述
数字全部为个位十进制数字
样例
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
string stk[N], s;
int tt, n; // 在这里我用了手写栈
int main()
{
while (getline(cin, s))
{
if (s == "0") break; //当输入一行为 0 时,表示输入结束。
tt = 0; //清空栈
reverse(s.begin(), s.end()); //前缀反转一下 扫描每个字符
for (int i = 0; i < s.size(); ++ i)
{
if (s[i] == ' ') continue; //跳过空格
else if (s[i] == '+' || s[i] == '-')
{
//如果是符号,拿出栈顶数字 拼接当前符号
string a = stk[tt--], b = stk[tt--];
stk[++tt] = a + b + s[i];
}
else {//如果是数字 拼接上x空格 压栈
stk[++tt] = s[i] ;
}
}
int len=stk[tt].size();
for(int i=0;i<len;i++){
cout << stk[tt][i] <<" ";
}
cout<<endl;
}
return 0;
}