早教吧作业答案频道 -->其他-->
算术表达式转化成逆波兰式(C语言)问题描述:编写程序实现将输入的数学表达式转换成后缀式(逆波兰式),并对后缀式进行计算,输出得到的值。测试数据:输入3*(7-5)+(4+8)/3#输出375-*48+3/+#
题目详情
算术表达式转化成逆波兰式(C语言)问题描述:编写程序实现将输入的数学表达式转换成后缀式(逆波兰式),并对后缀式进行计算,输出得到的值。 测试数据 : 输入3*(7-5)+(4+8)/3# 输出375-*48+3/+# 10
▼优质解答
答案和解析
你可以扩展一下。 // 中缀表达式转化为后缀表达式,仅支持加减乘除运算、操作数为1位十进制非负整数的表达式。 char* infix2postfix(const char *infix, char *postfix) { const size_t N = strlen(infix); if (N == 0 || postfix == NULL) { return postfix; } stack opcode(N); // 堆栈存放的是操作符 for (size_t i = 0; i < N; i++) { switch (infix[i]) { case '(': // 直接忽略左括号 break; case ')': // 弹出操作符 *postfix++ = opcode.pop(); *postfix++ = ' '; break; case '+': case '-': case '*': case '/': opcode.push(infix[i]); // 压入操作符 break; default: if (isdigit(infix[i])) // 如果是数字,直接输出 { *postfix++ = infix[i]; *postfix++ = ' '; } } } return postfix; }
看了算术表达式转化成逆波兰式(C语...的网友还看了以下:
求极限:limx→0 (1-cosx)/2x例题用无穷小替换,可是他将1-2x换成x^2 / 2, 2020-05-13 …
如果1只鹅能换2只鸡,2只兔能换1只鸡,那么2只鹅能换多少只兔?几只兔可以换4只鹅列算式 2020-05-23 …
1、8根胡萝卜换2个大萝卜,6个大萝卜换3根大白菜,12根大白菜能换多少根胡萝卜?算式怎么列?2、 2020-05-24 …
四阶矩阵用初等变换求逆12342312111-110-2-6行列变换都行我用初等变换为每次都算不出 2020-06-25 …
学过的请回答写出算式,并也列出竖式1欧元兑换人民币10.07元,1000人民币能够兑换多少欧元学过 2020-07-13 …
计算机进制转换在计算机中,设某进制有12个数码,依次为0、1、2、3、4、5、6、7、8、9、a、 2020-08-03 …
交换加数算一算.交换加数算一算.(1)32+3=3+32=(2)74+5=5+74=(3)7+20= 2020-11-19 …
现代计算机网络采用的交换方式主要是。1.电路交换2.报文交换3.基于虚电路的分组交换4.基于数据报的 2020-12-01 …
★1.1头羊可换4只鸡,也就是4只鸡可以换1头羊.照这样推算:(1)3头羊可换()只鸡;(2)()头 2021-01-07 …
为了使算式(-6)*3/7+(-6/7)÷1/4计算简便,可以运用的运算律是().A.加法交换律和结 2021-01-29 …