本文共 851 字,大约阅读时间需要 2 分钟。
算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。
输入在一行中给出不含空格的中缀表达式,可包含
+
、-
、*
、\
以及左右括号()
,表达式不超过20个字符。
在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空格分隔,但结尾不得有多余空格。
2+3*(7-4)+8/4
2 3 7 4 - * + 8 4 / +
#include#include #include char str[27];int len;char stack[27];int top=0;int index=0;int IsNum(char c){ if(c>='0'&&c<='9'||c=='.') return 1; else return 0;} int compare(char a,char b){ if(b==')')return 1; if(a=='('||b=='(')return 0; switch(b) { case '+': case '-': return 1; case '*': case '/': switch(a){ case '+': case '-': return 0; case '*': case '/': return 1; } }}int ZhengFu(char a){ if(a=='+'||a=='-') return 1; else return 0;}void Mainfun(){ int space=0; for(index=0;index
版权声明:本文为博主原创文章,未经博主允许不得转载。