var
p:array[-100..100] of boolean;
st:string;
i:longint;
procedure dg(ans:longint);
var
j:longint;
begin
if st[ans]=' ' then inc(ans);
if st[ans] in ['1'..'9'] then
begin
write(st[ans],' ');
p[ans]:=false;
end
else
begin
dg(ans+2);
for j:=ans+2 to length(st) do
begin
if (p[j]=true) and (st[j]<>' ') then
begin
dg(j);
break;
end;
end;
write(st[ans],' ');
p[ans]:=false;
end;
end;
begin
assign(input,'j4.in');reset(input);//输入
assign(output,'j4.out');rewrite(output);//输出
readln(st);
for i:=1 to length(st) do p[i]:=true;//初始化
dg(1);//递归
close(input);//关闭
close(output);//关闭
end.
前缀转后缀程序源代码(pascal)
最新推荐文章于 2023-01-12 14:28:02 发布