算術表示式的轉換

2021-07-16 16:10:43 字數 1165 閱讀 2832

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

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

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

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

a*b+(c-d/e)*f#

+*ab*-c/def

a*b+c-d/e*f

ab*cde/-f*+

字首式的優先順序為大於;

字尾式為大於等於;

#include #include #include #include #include using namespace std;

char str[1000000],str2[1000000];

int n;

/*字首式*/

void per(char str,int n)

else if(str[i]=='+'||str[i]=='-')

s1.push(str[i]);

}else if(str[i]==')')

s1.push(str[i]);

else

else}}

}else

s1.push(str[i]);

}while(!s1.empty())

int m=strlen(str2);

for(i=m-1;i>=0;i--)

printf("%c",str2[i]);

}/*中綴式*/

void ino(char str,int n)

s2.push(str[i]);

}else if(str[i]=='*'||str[i]=='/')

s2.push(str[i]);

}else if(str[i]=='(')

s2.push(str[i]);

else

else}}

}else

s2.push(str[i]);

}while(!s2.empty())

}int main()

算術表示式的轉換

小明在學習了資料結構之後,突然想起了以前沒有解決的算術表示式轉化成字尾式的問題,今天他想解決一下。因為有了資料結構的基礎小明很快就解出了這個問題,但是他突然想到怎麼求出算術表示式的字首式和中綴式呢?小明很困惑。聰明的你幫他解決吧。輸入 輸入一算術表示式,以 字元作為結束標誌。資料保證無空格,只有一組...

算術表示式的轉換

time limit 1000ms memory limit 65536k 小明在學習了資料結構之後,突然想起了以前沒有解決的算術表示式轉化成字尾式的問題,今天他想解決一下。因為有了資料結構的基礎小明很快就解出了這個問題,但是他突然想到怎麼求出算術表示式的字首式和中綴式呢?小明很困惑。聰明的你幫他解...

算術表示式的轉換

time limit 1000ms memory limit 65536k 小明在學習了資料結構之後,突然想起了以前沒有解決的算術表示式轉化成字尾式的問題,今天他想解決一下。因為有了資料結構的基礎小明很快就解出了這個問題,但是他突然想到怎麼求出算術表示式的字首式和中綴式呢?小明很困惑。聰明的你幫他解...