C++代码实现中缀表达式转后缀表达式
样例输入:14+3*(20/5)-8
样例输出:14 3 20 5 / * + 8 -
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
stack<char> st;
string s;
string ans;
st.push('#');//防止数据溢出!!
int pri[350];
pri['+']=1;
pri['-']=1;
pri['*']=2;
pri['/']=2;
pri['(']=0;
pri[')']=0;
pri['#']=-1;//定义优先级
getline(cin,s);//输入
for(int i=0;i<s.size();i++)
{
bool isnum=false;
while(s[i]>='0'&& s[i]<='9')
{
ans=ans+s[i];
i++;
isnum=true;
}