网站模板怎么样,wordpress 主题 插件 加载,c2c电子商务网站开发,关于电子商务网站建设的现状算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法#xff0c;即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。
输入格式: 输入在一行中给出不含空格的中缀表达式#xff0c;可包含、-、*、/以及左右…算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。
输入格式: 输入在一行中给出不含空格的中缀表达式可包含、-、*、/以及左右括号()表达式不超过20个字符。
输出格式: 在一行中输出转换后的后缀表达式要求不同对象运算数、运算符号之间以空格分隔但结尾不得有多余空格。
输入样例:
23*(7-4)8/4
输出样例:
2 3 7 4 - * 8 4 /
#include bits/stdc.h
using namespace std;
#define int long long
#define ios ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
typedef pairint,int PII;
const int N2e610;
string s,p;
stack char q;
vector string k;
int str[N];
signed main()
{ios;str[]str[-]1;str[*]str[/]2;cins;for (int i0;is.size();i){if (s[i]0s[i]9||((i0||s[i-1]()(s[i]||s[i]-))){p.clear();if (s[i]!) p s[i];while (s[i1]0s[i1]9||s[i1].) {p s[i1];i;}k.push_back(p);}else if (s[i]||s[i]-||s[i]*||s[i]/){while (q.size()str[q.top()]str[s[i]]){p.clear();p q.top();k.push_back(p);q.pop();}q.push(s[i]);}else if (s[i]() q.push(();else {while (q.top()!(){p.clear();p q.top();k.push_back(p);q.pop();}q.pop();}}while (q.size()){p.clear();p q.top();k.push_back(p);q.pop();}for (int i0;ik.size();i){coutk[i];if (i!k.size()-1) cout ;}return 0;
}