切分表示式 寫個tokenizer吧

2021-10-03 05:29:12 字數 923 閱讀 7847

四則運算表示式由運算數(必定包含數字,可能包含正或負符號小數點)、運算子(包括+-*/)以及小括號(())組成,每個運算數、運算子和括號都是乙個token(標記)。現在,對於給定的乙個四則運算表示式,請把她的每個token切分出來。題目保證給定的表示式是正確的,不需要做有效性檢查。

在一行中給出長度不超過40個字元的表示式,其中沒有空格,僅由上文中token的字元組成

依次輸出表示式中的tokens,每個token佔一行。

32*((2-2)+5)/(-15)
32*(

(2-2

)+5)

/(-15)

重點是判斷+和-到底是正負號還是運算子。當+/-前面和後面都是數字的時候它是運算子,如果前面是')'或者後面是'('代表是數字的運算結果,也為數字,需要注意這點,否則就是正負號。還有一點就是輸出數字的時候需要判斷下一位字元是什麼,是否應該輸出換行符。

#includeusing namespace std;

// 1 represents operator

int judge(string str, int k)

return 0;

}int main()else if(str[i] == '+' || str[i] == '-')elseelse if(str[i + 1] == '+' || str[i + 1] == '-')

}} }

return 0;

}

表示式 表示式樹 表示式求值

總時間限制 1000ms 記憶體限制 65535kb 描述 眾所周知,任何乙個表示式,都可以用一棵表示式樹來表示。例如,表示式a b c,可以表示為如下的表示式樹 a b c 現在,給你乙個中綴表示式,這個中綴表示式用變數來表示 不含數字 請你將這個中綴表示式用表示式二叉樹的形式輸出出來。輸入輸入分...

中綴表示式 字首表示式 字尾表示式

中綴表示式 中綴記法 中綴表示式是一種通用的算術或邏輯公式表示方法,操作符以中綴形式處於運算元的中間。中綴表示式是人們常用的算術表示方法。雖然人的大腦很容易理解與分析中綴表示式,但對計算機來說中綴表示式卻是很複雜的,因此計算表示式的值時,通常需要先將中綴表示式轉換為字首或字尾表示式,然後再進行求值。...

中綴表示式 字尾表示式 字首表示式

正如我們常常潛意識認為我們所說的數字都是十進位制,對於數字的其他進製感覺不正確一樣,其實只是我們不熟悉而已,其他進製其實也不過就是一種對資料的表達方式而已。對於我們的表示式也是一樣。eg 表示式2 3 5 7 我們上面所看到的也就是我們平時常用的書寫表示式的方式就是我們所謂的 中綴表示式 字首表示式...