输入两个数值即一个算术运算符输出其运算结果

来源:百度知道 编辑:UC知道 时间:2024/06/06 10:05:13
用PASCAL语言

var a:packed array[1..1000000] of real;ed:longint;s1,js,js1:real;s:string;ch:char;
procedure push(var over:longint;s:real);
begin
inc(over);a[over]:=s;
end;
procedure pop(var over:longint);
begin
a[over]:=0;dec(over);
end;
procedure top(var sj:real);
begin
sj:=a[ed];
end;
begin
s:='';fillchar(a,sizeof(a),0);read(ch);ed:=0;while ch<>'@' do begin
if ch in ['0'..'9'] then begin
while ch in ['0'..'9'] do begin s:=s+ch;read(ch);end;val(s,s1);s:='';push(ed,s1);end
else case ch of
'+':begin top(js);pop(ed);top(js1);pop(ed);push(ed,js+js1);end;
'-':begin top(js);pop(ed);top(js1);pop(ed);push(ed,js1-js);end;
'*':begin top(js);pop(ed);top(js1);pop(ed);push(ed,js*js1);end;
'/':begin top