time limit: 1000ms
memory limit: 65536kb
submit
statistic
discuss
problem description
對於乙個基於二元運算子的算術表示式,轉換為對應的字尾式,並輸出之。
input
輸入乙個算術表示式,以『#』字元作為結束標誌。
output
輸出該表示式轉換所得到的字尾式。
example input
a*b+(c-d/e)*f#
example output
ab*cde/-f*+
#includeint switc(char c)//把輸入的運算子轉換成數字來比較優先順序
int main()
else
else
if(switc(c)>switc(b[top]))//如果是運算子 而且輸入的比棧頂運算子優先順序高
top--;
}else
}else //如果優先順序比它低
else}}
}while(top!=0) //判斷棧是否為空 不為空就全部出棧
printf("\n");
return 0;
}
之前一直不能ac,是因為這一行if(switc(c)>switc(b[top]))
之前我的**是
if(switc(c)>=switc(b[top]))
舉個栗子:
輸入:(a+b)*c/e
錯誤輸出:ab+ce/*
正確輸出:ab+c*e/
資料結構實驗之棧二 一般算術表示式轉換成字尾式
abc defg hb 資料結構實驗之棧二 一般算術表示式轉換成字尾式 time limit 1000msmemory limit 65536kb64bit io format lld llu submit status practice sdutoj 2132 description 對於乙個基於...
資料結構實驗之棧二 一般算術表示式轉換成字尾式
description 對於乙個基於二元運算子的算術表示式,轉換為對應的字尾式,並輸出之。input 輸入乙個算術表示式,以 字元作為結束標誌。output 輸出該表示式轉換所得到的字尾式。sample input a b c d e f sample output ab cde f include...
資料結構實驗之棧二 一般算術表示式轉換成字尾式
對於乙個基於二元運算子的算術表示式,轉換為對應的字尾式,並輸出之。輸入乙個算術表示式,以 字元作為結束標誌。輸出該表示式轉換所得到的字尾式。a b c d e f ab cde f 最近在看棧的內容,但對於這道題,沒有想法,看到網上的題解,才明白怎麼回事,思路就是,建立乙個棧,是數字就輸出,是運算子...