题面
问题描述
四则运算表达式由运算数(必定包含数字,可能包含正或负符号、小数点)、运算符(包 括+、-、*、/)以及小括号((和))组成,每个运算数、运算符和括号都是一个 token(标记)。 现在,对于给定的一个四则运算表达式,请把式子中的每个 token 切分出来。题目保证给定 的表达式是正确的,不需要做有效性检查。
输入格式
在一行中给出长度不超过 40 个字符的表达式,其中没有空格,仅由上文中 token 的字符组成。
输出格式
依次输出表达式中的 tokens,每个 token 占一行。
样例输入
32*((2-2)+5)/(-15)
样例输出
32
*
(
(
2
-
2
)
+
5
)
/
(
-15
)
题解
这道题你放心,AI做不出来,AI在细节方面差的很远。
回到正题,本题难点在于意识到正负号与加减号的区别,以及注意考虑小数点。
所以本题的思路如下:
-
读取输入的一行字符串,并逐个字符进行判断。通过一个循环来遍历整个字符串。
-
对于每个字符,首先判断是否为加号或减号。如果是,根据前一个字符的类型来确定是正负号还是加减号。
-
如果当