SDUT2484 算術表示式的轉換

2021-10-02 05:17:44 字數 1655 閱讀 8869

算術表示式的轉換

time limit: 1000 ms memory limit: 65536 kib

problem description

小明在學習了資料結構之後,突然想起了以前沒有解決的算術表示式轉化成字尾式的問題,今天他想解決一下。

因為有了資料結構的基礎小明很快就解出了這個問題,但是他突然想到怎麼求出算術表示式的字首式和中綴式呢?小明很困惑。聰明的你幫他解決吧。

input

輸入一算術表示式,以』#'字元作為結束標誌。(資料保證無空格,只有一組輸入)

output

輸出該表示式轉換所得到的字首式 中綴式 字尾式。分三行輸出,順序是字首式 中綴式 字尾式。

sample input

ab+(c-d/e)f#

sample output

+ab-c/def

ab+c-d/ef

abcde/-f+

直接上**

#include

#include

using

namespace std;

char

qian

(char a)

;char

hou(

char a)

;int

main()

else

if(a[x]

=='('

||a[x]

==')'

)else

}printf

("\n");

hou(a);}

char

qian

(char a)

} z=0;

int m=0;

// printf("%d\n",x);

for(y=x-

1;y>=

0;y--

)else

else

if(a[y]

==')'

)else

if(a[y]

=='+'

||a[y]

=='-'

)else}}

else

if(a[y]

=='('

) m=m-1;

}}}if

(m!=0)

}//printf("%d\n",b[z-1]);

while

(z>0)

}char

hou(

char a)

else

if(a[c]

=='('

)else

if(a[c]

=='+'

||a[c]

=='-'

) b[

++k]

=a[c];}

else

if(a[c]

==')'

) k--;}

else

if(a[c]

=='*'

||a[c]

=='/'

) b[

++k]

=a[c];}

}while

(k!=0)

}

SDUT2484 算術表示式的轉換

這是乙個將中綴式轉化成表示式樹然後在遍歷輸出的題 操作總結為 1 把中綴式轉換為字尾式。2 把字尾式轉化為表示式樹。3 將表示式樹先序 中序 後序遍歷得出字首式 中綴式 字尾式。以下是 include include struct node char sa 100 sb 100 sc 100 int...

SDUT 2484 算術表示式的轉換

算術表示式的轉換time limit 1000ms memory limit 65536k 有疑問?點這裡 題目描述 小明在學習了資料結構之後,突然想起了以前沒有解決的算術表示式轉化成字尾式的問題,今天他想解決一下。因為有了資料結構的基礎小明很快就解出了這個問題,但是他突然想到怎麼求出算術表示式的字...

sdut 2484 算術表示式的轉換

time limit 1000 ms memory limit 65536 kib submit statistic discuss problem description 小明在學習了資料結構之後,突然想起了以前沒有解決的算術表示式轉化成字尾式的問題,今天他想解決一下。因為有了資料結構的基礎小明很...