用pascal求后缀表达式的值。

【问题描述】根据后缀算术表达式计算其值,注意相邻的数值型数据间用空格隔开,数据与运算符间也用空格隔开,表达式以@结束。计算的值保留两位小数,并对第三位四舍五入。如356+... 【问题描述】

根据后缀算术表达式计算其值,注意相邻的数值型数据间用空格隔开,数据与运算符间也用空格隔开,表达式以@结束。计算的值保留两位小数,并对第三位四舍五入。

如35 6 +@其值输出为41。

【输入】

输入一行以@结束的表达式

【输出】

结果

【样例】

输入

36 57 /@

输出

0.63
怎么做?(最好每一步都有解释)
展开
 我来答
百度网友f6c754a7e
2011-02-08 · 超过29用户采纳过TA的回答
知道答主
回答量:137
采纳率:0%
帮助的人:87.3万
展开全部
program track;
var t1:array[1..10000] of longint;
top,n,i:integer;
rd:char;
f:boolean;
begin
rd:=' ';
top:=0;
f:=false;
while rd<>'@' do
begin
read(rd);
n:=0;
while (rd in ['0'..'9']) do
begin
f:=true;
n:=n*10+ord(rd)-ord('0');
read(rd);
end;
if f then begin
inc(top);
t1[top]:=n;
f:=false;end;
if rd in ['+','-','*','/'] then
begin
case rd of
'+':t1[top-1]:=t1[top-1]+t1[top];
'-':t1[top-1]:=t1[top-1]-t1[top];
'*':t1[top-1]:=t1[top-1]*t1[top];
'/':t1[top-1]:=t1[top-1] div t1[top];
end;
dec(top);
end;
end;
write(t1[1]);
end.
mr_pig2_0
2011-02-06 · TA获得超过1057个赞
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:155万
展开全部
栈不解释
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
骑士幻
2011-02-07 · 超过18用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:0
展开全部
波兰算法 利用堆实现 并把符号定义优先级
- + 1级
*/ 2级
括号最高
一般的算法书上都有....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Frankqzh
2011-02-08 · TA获得超过275个赞
知道小有建树答主
回答量:305
采纳率:0%
帮助的人:247万
展开全部
好像不用那么复杂:
var a,b:real;c:char;
begin
read(a,b,c);
case c of
'+':write(a+b:0:2);
'-':write(a-b:0:2);
'*':write(a*b:0:2);
'/':write(a/b:0:2);
end.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式