欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

波兰表达式(递归)

程序员文章站 2022-07-14 14:13:45
...

波兰式的定义:
波兰式是在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之前,所以,这种表示法也称为前缀表达式。
波兰表达式(递归)
要求输出逆波兰表达式的值。
这个题目其实是波兰表达式,题目可能写错了。
递归解决方法:

#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
double exp() {
	char s[20];
	cin >> s;
	switch(s[0]) {
		case '+':
			return exp() + exp(); //递归调用,求出自身包含的波兰式
		case '-':
			return exp() - exp();
		case '*':
			return exp() * exp();
		case '/':
			return exp() / exp();
		default:
			return atof(s); //将char转换成对应的浮点数
			break;
	}
}
int main() {
	printf("%lf",exp());
	return 0;
}

关于atof()函数,点击这里

如果发现有不正确的地方,欢迎在评论区指出

相关标签: 算法题目