递归 PROBLEM3 逆波兰式 ---ACM

easy quiz

 

#include <cstdlib>
#include <iostream>
#include <math.h>
/**
*    recursion   PROBLEM 3
*    逆波兰式   calculate reverse polish form
*/
using namespace std;
/**
*   do not use stack;   use recursion is more easy
*/
double exp()    
{
       char a[10];
       scanf("%s",a);   //scan one item (to the next block)
       switch(a[0])
       {
              case '+' : return exp()+exp();
              case '-' : return exp()-exp();
              case '*' : return exp()*exp();
              case '/' : return exp()/exp();
              default :return atof(a);   //string to float
       }

}
int main(int argc, char *argv[])
{
    double answer;
    answer=exp();
    printf("%f",answer);  //output 
    system("PAUSE");
    return EXIT_SUCCESS;
}

 

 

转载于:https://www.cnblogs.com/ggppwx/archive/2010/05/15/1736381.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值