逆波兰表达式
递归的思想就是把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,解决当前问题就解决了全部问题。#include <stdio.h>
#include <string.h>
#include <bits/stdc++.h>
int result = 0;
int number1,number2;//待运算的两个数
using namespace std;
float Calculate()
{
char data;
cin >> data;
if(!strcmp(data,"+")) return Calculate() + Calculate();
if(!strcmp(data,"-")) return Calculate() - Calculate();
if(!strcmp(data,"*")) return Calculate() * Calculate();
if(!strcmp(data,"/")) return Calculate() / Calculate();
return atof(data);
}
int main()
{
float result = Calculate();
printf("%f",result);
return 0;
}
谢谢分享 厉害厉害{:1_893:}{:1_893:} 楼主代码不全吧,我记得逆波兰一般是用栈结构实现的 苏紫方璇 发表于 2019-4-9 23:44
楼主代码不全吧,我记得逆波兰一般是用栈结构实现的
栈是一种解法,递归也有一种解法。递归和栈有异曲同工之妙的 谢谢,祝您身体健康! 感谢楼主分享,学习了
页:
[1]