PTA資料結構之表示式轉換

2021-08-15 09:05:13 字數 1315 閱讀 8555

算術表示式有字首表示法、中綴表示法和字尾表示法等形式。日常使用的算術表示式是採用中綴表示法,即二元運算子位於兩個運算數中間。請設計程式將中綴表示式轉換為字尾表示式。

輸入在一行中給出不含空格的中綴表示式,可包含+-*\以及左右括號(),表示式不超過20個字元。

在一行中輸出轉換後的字尾表示式,要求不同物件(運算數、運算符號)之間以空格分隔,但結尾不得有多餘空格。

2+3*(7-4)+8/4

2 3 7 4 - * + 8 4 / +

#include#include#include#includeusing namespace std;

#define ok 1

#define error 0

#define true 1

#define false 0

#define overflow -2

#define stack_init_size 100

#define stackincrement 10

typedef int status;

typedef char selemtype;

typedef struct

sqstack;

//初始化

status init_stack(sqstack &s)

//入棧

status push_stack(sqstack &s,selemtype e)

*s.top++=e;

return ok;

}//出棧

status pop_stack(sqstack &s,selemtype &e)

//判斷空棧

status empty_stack(sqstack &s)

//獲取棧頂元素

char get_top(sqstack s)

int judge_yxj(char c)

int judge_shu(char c)

int priority(char ch1,char ch2)

int main()

if(e[i]=='+' && e[i-1]=='(')

continue;

if(e[i]>='0' && e[i]<='9')

if(e[i]=='(')

if(e[i]==')')

else

{pop_stack(s,c);

cout<<" "<

PTA 資料結構與演算法 7 20 表示式轉換

如有不對,不吝賜教 進入正題 算術表示式有字首表示法 中綴表示法和字尾表示法等形式。日常使用的算術表示式是採用中綴表示法,即二元運算子位於兩個運算數中間。請設計程式將中綴表示式轉換為字尾表示式。輸入格式 輸入在一行中給出不含空格的中綴表示式,可包含 以及左右括號 表示式不超過20個字元。輸出格式 在...

PTA 表示式轉換

算術表示式有字首表示法 中綴表示法和字尾表示法等形式。日常使用的算術表示式是採用中綴表示法,即二元運算子位於兩個運算數中間。請設計程式將中綴表示式轉換為字尾表示式。輸入格式 輸入在一行中給出不含空格的中綴表示式,可包含 以及左右括號 表示式不超過20個字元。輸出格式 在一行中輸出轉換後的字尾表示式,...

資料結構表示式

35,15,80,70,20,字尾表達方式 35 15 80 70 20 25 中綴表達方式 35,15,80,70,20 字首表達方式 人的思維方式很容易固定 正如習慣拉10進製。就對2,3,4,8,16 等進製不知所措一樣 人們習慣的運算方式是中綴表示式。而碰到字首,字尾方式。迷茫 其實僅僅是一...