波蘭表達式

前綴表達式即波蘭式求值

#include<stdio.h>
#include<stdlib.h>
double f()
{
    char a[10];
    scanf("%s",a);//一次取一個運算數/運算符
    switch(a[0])//其實就是簡單的棧運算就可以解決了
    {
        case '+':
            return f()+f();
            break;
        case '-':
            return f()-f();
            break;
        case '*':
            return f()*f();
            break;
        case '/':
            return f()/f();
            break;
        default :
            return atof(a);
            break;
    }

}
int main()
{
    printf("%lf",f());
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章