天之道

享受编程的乐趣。
posts - 118, comments - 7, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

前缀表达式求值的递归程序

Posted on 2012-10-06 10:49 hoshelly 阅读(910) 评论(0)  编辑 收藏 引用 所属分类: DS && Algorithm
#include<iostream>
#include<string>
using namespace std;
char a[100];
int i;
int eval()
{
    int x=0;
    while(a[i] == ' ') i++;
    if(a[i] == '+')
    {
        i++;
        return eval()+eval();
    }
    if(a[i] == '*')
    {
        i++;
        return eval()*eval();
    }
    while((a[i] >= '0')&&(a[i]<= '9'))
       x = 10*x +a[i++]-'0';
    return x;
}
int main()
{
    gets(a);
    cout<< eval()<<endl;
    return 0;
}

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理