給定乙個只包含加法和乘法的算術表示式,請你程式設計計算表示式的值。
輸入僅有一行,為需要你計算的表示式,表示式中只包含數字、加法運算子 +
++ 和乘
法運算子 ∗
*∗ ,且沒有括號,所有參與運算的數字均為 0
00 到 231−
12^-1
231−
1 之間的整數。輸入資料保
證這一行只有0∽9
0\backsim9
0∽9、+
++、∗
*∗這12 種字元。
輸出只有一行,包含乙個整數,表示這個表示式的值。注意:當答案長度多於 4
44 位時,
請只輸出最後 4
44 位,前導 0
00 不輸出。
資料範圍限制
對於 30
%30\%
30% 的資料, 0
≤0\leq
0≤表示式中加法,運算,符和乘法運算 符的總數≤
100\leq100
≤100
;對於 80
%80\%
80% 的資料, 0
≤0\leq
0≤表示式中加法 運算 符和乘法運算 符的總數 ≤
1000
\leq1000
≤1000 ;
對於 100
%100\%
100%
的資料, 0
≤0\leq
0≤表示式中加法 運算 符和乘法運算 符的總數 ≤
100000
\leq100000
≤10000
0。
#include
#include
#include
#define size 100001
using
namespace std;
string a;
int num[size]
;char op[size]
;int
main()
elseif(
++i == a.
size()
)}num[n]
= temp;
num[n]
= temp;
temp = num[0]
;for
(i =
1; i <= n; i++
)else
}printf
("%d"
,(res %
10000
+ temp %
10000)%
10000);
return0;
}
表示式求值
程式的說明見清華大學出版社 資料結構 c語言版 include include define stack init size 40 define stackincrement 20 define ok 1 define false 0 typedef structs stack typedef st...
表示式求值
既然是表示式求值,自然需要在記憶體中儲存計算結果以及中間值。在 用c語言寫直譯器 一 中提過 變數要求是若型別,而 c 語言中的 view plaincopy to clipboardprint?in basic io.h define memery size 26 typedef enum var...
表示式求值
寫了乙個下午,各種糾結,各種問,終於搞明白了。但是自己還是想出來的一點東西的。很爽歪歪的,哈哈。先貼第一次的 include include include include include includeusing namespace std char data 7 7 int sign char ...