5-21 求字首表示式的值(25分)
算術表示式有字首表示法、中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2+3*(7-4)+8/4
的字首表示式是:+ + 2 * 3 - 7 4 / 8 4
。請設計程式計算字首表示式的結果值。
輸入在一行內給出不超過30個字元的字首表示式,只包含+
、-
、*
、\
以及運算數,不同物件(運算數、運算符號)之間以空格分隔。
輸出字首表示式的運算結果,保留小數點後1位,或錯誤資訊error
。
+ + 2 * 3 - 7 4 / 8 4
13.0
用字首表示式求值的思路還是非常清楚的,很快就寫完了,找了幾個資料測試也都通過了,但是在浙大的平台上提交乙個資料點都沒有通過,膝蓋都要跪爛掉了。。。。。望大神指正。。。我過段時間再回頭看看這道題目吧。。
**:
1 #include2 #include3 #include4 #include5
using
namespace
std;
6#define error 0
7#define ok 1
8#define overflow -2
9#define true 1
10#define false 0
11 typedef struct node *ptr;
12 typedef struct
nodesqstack;
1718
int initstack(sqstack &s) //
此處是構造乙個空棧
1926
float push(sqstack &s,float e)//
入棧操作
2735 *s.top++=e;
36return
ok;37}38
float gettop(sqstack s,float &e)//
返回頭頂指標
3945
46float pop(sqstack &s,float &e)
4753
54float before(char a,int
len)
5577
else
78 79}
80}81push(bds,temp);82}
83}84gettop(bds,e);
85return
e;86}87
88int
main()
89
7 21 求字首表示式的值(25 分)
stack用法詳解 算術表示式有字首表示法 中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2 3 7 4 8 4的字首表示式是 2 3 7 4 8 4。請設計程式計算字首表示式的結果值。輸入在一行內給出不超過30個字元的字首表示式,只包含 以及運算數,不同物件 運算數 ...
7 3 求字首表示式的值(25 分)
算術表示式有字首表示法 中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2 3 7 4 8 4的字首表示式是 2 3 7 4 8 4。請設計程式計算字首表示式的結果值。輸入格式 輸入在一行內給出不超過30個字元的字首表示式,只包含 以及運算數,不同物件 運算數 運算符號 ...
7 21 求字首表示式的值 25分
pta資料結構與演算法題目集 7 21 求字首表示式的值 25分 算術表示式有字首表示法 中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2 3 7 4 8 4的字首表示式是 2 3 7 4 8 4。請設計程式計算字首表示式的結果值。輸入在一行內給出不超過30個字元的字首...