早教吧作业答案频道 -->其他-->
算术表达式转化成逆波兰式(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语...的网友还看了以下:
波的叠加是怎么计算的两个波在一根长的弦线上传播.设其波动表达式为y1=0.06cos(1.0πx- 2020-05-20 …
● 算术表达式采用逆波兰式表示时不用括号,可以利用 (20) 进行求值。与逆波兰式 ab-cd+* 2020-05-26 …
●算术表达式采用逆波兰式表示时不用括号,可以利用(20)进行求值。与逆波兰式ab-cd+*对应的中缀 2020-05-26 …
表达式采用逆波兰式表示时可以不用括号,而且可以用基于(12)的求值过程进行计算。与逆波兰式ab+c* 2020-05-26 …
设表达式E=a*(b-c)/(d+e)+f*(g+h),则E的逆波兰表达式为(40),E的波兰表达式 2020-05-26 …
已知空间波的表达式,求其在各坐标轴方向的分量表达式某三维波的函数表达式如下:=A~exp[j(wt 2020-06-14 …
如图,一平面简谐波以波速u沿x轴正方形传播,O为坐标原点,已知P点的振动方程为y=Acosωt,则 2020-06-22 …
关于基波和谐波的电压表达式写出电力系统中三相基波电压表达式、三次谐波电压表达式、五次谐波电压表达式 2020-07-13 …
有一沿X轴正向传播的平面简谐波,波速为V=20m/s,若在波线上一点P1的振动表达式为y=0.2co 2020-12-09 …
算术表达式转化成逆波兰式(C语言)问题描述:编写程序实现将输入的数学表达式转换成后缀式(逆波兰式), 2020-12-15 …