【转载】后缀表达式求值

原创 2015年07月10日 09:45:41
program li;
type
   stack=array[1..100] of real;
var
  s:stack;
  top,i,j:integer;
  a:string;
  ch:char;
  x:real;

procedure setnull;
begin
top:=0;
end;
procedure push( var s1:stack;y:real);
begin
  if  top=100
     then  writeln('overflow')
     Else  begin
          Top:=top+1;
          s1[top]:=y;
          end;
end;
function pop(var s2:stack):real;
begin
    If  top=0  then  writeln('underflow')
                   Else
                     begin
                      pop:=s2[top];
                      top:=top-1;
                      end;

end;
begin
readln(a);
setnull;
i:=1;
ch:=a[i];
while ch<>'@' do begin
  case ch of
    '0'..'9': begin
                x:=0;
                while ch<>' 'do begin
                 x:=x*10+ord(ch)-ord('0');
                 i:=i+1;
                 ch:=a[i];  end;
              end;
    '+':x:=pop(s)+pop(s);
    '-':begin x:=pop(s); x:=pop(s)-x; end;
    '*':x:=pop(s)*pop(s);
    '/':begin  x:=pop(s); x:=pop(s)/x; end;
  end;
push(s,x);
i:=i+1;
ch:=a[i];
end;
write(s[1]:0:2);
end.



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

后缀表达式求值cpp

后缀表达式转化及求值

#include #include #include #include #include using namespace std; #define MAXN 111 mapyxj;//优先级 char...

后缀表达式求值 栈

  • 2013-03-08 22:15
  • 4.59MB
  • 下载

后缀表达式求值(顺序栈)

#include #include #define MAXSIZE 50 using namespace std; typedef int DataType; typedef struct{ Da...

后缀表达式求值

后缀表达式求值

本文章主要研究后缀表达式的求值,如何将中缀表达式转为后缀表达式等

后缀表达式求值.cpp

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)