表示式求值

2021-09-24 23:37:48 字數 1337 閱讀 9210

給定乙個只包含加法和乘法的算術表示式,請你程式設計計算表示式的值。

輸入僅有一行,為需要你計算的表示式,表示式中只包含數字、加法運算子 +

++ 和乘

法運算子 ∗

*∗ ,且沒有括號,所有參與運算的數字均為 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 ...