表示式求值

2021-09-09 06:15:14 字數 955 閱讀 1051

題目

題目描述

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

輸入格式

輸入僅有一行,為需要你計算的表示式,表示式種只包含數字,加法運算子『+』和乘法運算子『*』,且沒有括號,所有參與運算的數字均為0到2的31次方減1之間的整數。輸入資料保證這一行只有0~9,『+』,『 *『 這12種字元。(輸入字串長度不超過600000)

輸出格式

輸出只有一行,包含乙個整數,表示這個表示式的值。注意:當答案長度多餘4時,請只輸出最後4位。不要輸出多餘的前導零。

樣例輸入1

1+1*3+4
樣例輸出1

8
樣例輸入2

1+1234567890*1
樣例輸出2

7891
題解

**:

#include

#include

char a[

600000+5

];int num[

60000+5

]=;char cha[

60000];

intmain()

k++;}

else

cha[w++

]=a[i++];

}for

(int i=

0;i(cha[i]

=='*'

)for

(int i=

0;i) ans+

=num[i]

%10000

;printf

("%d\n"

,ans%

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 ...