pascal 字尾表示式轉中綴表示式 20分急求

2022-01-13 08:02:33 字數 2451 閱讀 1123

1樓:

program p1293;

const maxl = 1000000;

type node = record

ch:char;

l,r:longint;

end;

var s:ansistring;

list:array[1..maxl] of node;

t:longint;

function getlevel(x:char):longint;

begin

case x of

'*','/':exit(3);

'-':exit(1);

'+':exit(1);

end;

end;

procedure work(var s:ansistring);

var now:longint;

begin

inc(t);

now:=t;

list[now].ch:=s[length(s)];

delete(s,length(s),1);

if list[now].ch in ['+','-','*','/'] then begin

list[now].r:=t+1;

work(s);

list[now].l:=t+1;

work(s);

endelse begin

list[now].r:=-1;

list[now].l:=-1;

end;

end;

function outp(x:longint;level:longint;c:longint;d:char):ansistring;

var tmps:ansistring;

nowlevel:longint;

begin

if list[x].ch in ['+','-','*','/'] then begin

nowlevel:=getlevel(list[x].ch);

tmps:=outp(list[x].l,nowlevel,1,list[x].

ch)+list[x].ch+outp(list[x].r,nowlevel,2,list[x].

ch);

if nowlevel

tmps:='('+tmps+')';

end;

if (nowlevel=level) and (c=2) and

(((d='/')and(list[x].ch='*'))or((d='+')and(list[x].ch='-'))or((list[x].

ch='/')and(d='/'))) then begin

tmps:='('+tmps+')';

end;

endelse

tmps:=list[x].ch;

outp:=tmps;

end;

begin

readln(s);

t:=0;

work(s);

writeln(outp(1,getlevel(list[1].ch),1,list[1].ch));

end.抄的

2樓:匿名使用者

program bzlx2;

vars:array[1..100] of longint;

i,j,n,x,k:longint;

a:char;

begin

repeat

read(a);

if (a>='0') and (a<='9')then begin

k:=1;

j:=j+1;

s[j]:=0;

while a<>'.' do

begin

s[j]:=s[j]*k+(ord(a)-ord('0'));

k:=k*10;

read(a);

end;

endelse begin

case a of

'+':begin

x:=s[j]+s[j-1];

j:=j-1;

s[j]:=x;

end;

'-':begin

x:=s[j-1]-s[j];

j:=j-1;

s[j]:=x;

end;

'*':begin

x:=s[j-1]*s[j];

j:=j-1;

s[j]:=x;

end;

'/':begin

x:=s[j] div s[j-1];

j:=j-1;

s[j]:=x;

end;

end;

end;

until a='@';

writeln(s[j]);

end.

正規表示式,提取括號內的內容,java正規表示式匹配小括號內的內容

如果不想要兩邊的小括號用 string reg d 就可以了 c 如果同一行裡可能有多組括弧的話,必須得用我這個。如果同一行裡只有一組括弧的話,樓上那個也行,當然我這個也行。這是vb的,c 不是這麼寫的 你最好弄明白格式,再來問內容 string s reg regex reg new regex ...

求正規表示式 除了漢字以外,所有字元的正規表示式,在js裡面用到

字 符描 述 將下一個字元標記為一個特殊字元 或一個原義字元 或一個後向引用 或一個八進位制轉義符。例如,n 匹配字元 n n 匹配一個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結...

數電真值表寫出邏輯表示式數位電路由真值表如何寫邏輯表示式?

具體回答如圖 找出真值表中使邏輯函式y 1的那些輸人變數取值的組合。每組輸人變數取值的組合對應一個乘積項,其中取值為1的寫為原變數,取值為0的寫為反變數。將這些乘積項相加,即得y的邏輯函式式。需將輸人變數取值的所有組合狀態逐一代人邏輯式求出函式值,列成表,即可得到真值表。先說一下概念吧 常用的邏輯 ...