
free pascal 帮忙啊!! 后缀表达式计算 急啊!!
programtrack;vart1:array[1..10000]oflongint;top,n,i:integer;rd:char;f:boolean;beginrd...
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'); //这句话什么意思?为什么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]; //这一大段case语句:=后面的什么意思?
end;
dec(top);
end;
end;
write(t1[1]);
end.
帮个忙吧!谢谢!!最好8月6日好 展开
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'); //这句话什么意思?为什么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]; //这一大段case语句:=后面的什么意思?
end;
dec(top);
end;
end;
write(t1[1]);
end.
帮个忙吧!谢谢!!最好8月6日好 展开
展开全部
n:=n*10+ord(rd)-ord('0');
ord(rd)为取字符的序数。char为有序类型。如字符b在a的后面,内码大1。
如果rd为'0'时,ord(rd)-ord('0')的值为0,为'1'是,则是1。
n的初值为零。第一个读进来的数字作个位。
第二个读进来的数字(如果有的话),就把前面读进来的第一个数字作10位(乘10),本位作个位。以此类推。n:=n*10+ord(rd)-ord('0');
case后的赋值:=后面表示数组。
t1[top-1]加上数组的下一个元素t1[top]。以下类推。
ord(rd)为取字符的序数。char为有序类型。如字符b在a的后面,内码大1。
如果rd为'0'时,ord(rd)-ord('0')的值为0,为'1'是,则是1。
n的初值为零。第一个读进来的数字作个位。
第二个读进来的数字(如果有的话),就把前面读进来的第一个数字作10位(乘10),本位作个位。以此类推。n:=n*10+ord(rd)-ord('0');
case后的赋值:=后面表示数组。
t1[top-1]加上数组的下一个元素t1[top]。以下类推。
更多追问追答
追问
但是ord好像是求ascll码的 0的ascll码是48呀,就这里我不太懂 谢谢
追答
无论0的ascii码是多少,ord(rd)-ord('0')求出了字符rd与'0'的差值,所以也就与内码值无关了。
比如:rd为'3',内码为48+3,减去48(即'0'的内码),结果还是3。

2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询