【题目来源】https://www.luogu.com.cn/problem/P1449【题目描述】所谓后缀表达式是指这样的一个表达式式中不再引用括号运算符号放在两个运算对象之后所有计算按运算符号出现的顺序严格地由左而右进行不用考虑运算符的优先级。本题中运算符仅包含 -*/。保证对于 / 运算除数不为 0。特别地其中 / 运算的结果需要向 0 取整即与 C/运算的规则一致。如3*(5-2)7 对应的后缀表达式为3.5.2.-*7.。在该式中为表达式的结束符号。.为操作数的结束符号。【输入格式】输入一行一个字符串 s表示后缀表达式。【输出格式】输出一个整数表示表达式的值。【输入样例1】3.5.2.-*7.【输出样例1】16【输入样例2】10.28.30./*7.-【输出样例2】-7【说明/提示】数据保证1≤∣s∣≤50答案和计算过程中的每一个值的绝对值不超过 10^9。【算法分析】● STL stackhttps://cplusplus.com/reference/stack/stack/【算法代码】#include bits/stdc.h using namespace std; stackint stk; string s; int x; int main() { cins; for(char c:s) { if(c0 c9) { xx*10(c-0); } else if(c.) { stk.push(x); x0; } else if(c) { break; } else { int ristk.top(); stk.pop(); int lestk.top(); stk.pop(); int res0; if(c) resleri; if(c-) resle-ri; if(c*) resle*ri; if(c/) resle/ri; stk.push(res); } } coutstk.top()endl; return 0; } /* in: 3.5.2.-*7. out: 16 */【参考文献】https://blog.csdn.net/hnjzsyjyj/article/details/148987127https://blog.csdn.net/hnjzsyjyj/article/details/130522133https://www.luogu.com.cn/problem/solution/P1449https://blog.csdn.net/hnjzsyjyj/article/details/145522672