zoukankan      html  css  js  c++  java
  • 6-5 Evaluate Postfix Expression (25分)

     

     

     

     解题思路:计算后缀表达式的值

    1、遇到数字入栈

    2、遇到符号则出栈计算

    3、或栈中仅剩1个数,则栈中值即为所求,否则,错误

    ElementType EvalPostfix( char *expr ) {
        ElementType stack[Max_Expr];
        char b[Max_Expr];
        int i=0,j=0;
        int top=-1;
        ElementType x,y;
        while(expr[i]!='') {
            while(expr[i]==' ')
                i++;
            if(isdigit(expr[i])||expr[i]=='.')
            {
                b[j++]=expr[i];
                if(expr[i+1]==' '||expr[i+1]=='') {
                    b[j]='';
                    stack[++top]=atof(b);
                    j=0;
                }    
            }        
            else {
                if(expr[i]=='-'||expr[i]=='+') {
                    if(isdigit(expr[i+1])) {
                        b[j++]=expr[i];
                    } else if(expr[i+1]==' '||expr[i+1]=='') {
                        if(top) {
                            x=stack[top--];
                            y=stack[top];
                            if(expr[i]=='+')
                                stack[top]=y+x;
                            else
                                stack[top]=y-x;
                        } else
                            return Infinity;
    
                    }
                } else if(expr[i]=='*'||expr[i]=='/') {
                    if(top) {
                        x=stack[top--];
                        y=stack[top];
                        if(expr[i]=='*')
                            stack[top]=y*x;
                        else {
                            if(x)
                                stack[top]=y/x;
                            else
                                return Infinity;
                        }
                    } else
                        return Infinity;
                } 
            }
            i++;
        }
        if(!top)
        return stack[top];
        else
        return Infinity;
    }

  • 相关阅读:
    DSP EPWM学习笔记2
    DSP EPWM学习笔记1
    DSP
    DSP bootloader学习笔记1
    Source Insight 中使用 AStyle 代码格式工具
    DSP基础学习-ADC同步采样
    DSP算法学习-过采样技术
    救救一个只会用万能头的孩子!
    传参(转)
    return
  • 原文地址:https://www.cnblogs.com/snzhong/p/12743251.html
Copyright © 2011-2022 走看看