华为OD机试真题-符号运算-2023年OD统一考试(C卷)

题目描述:

给定一个表达式,求其分数计算结果 

表达式的限制如下:

1. 所有的输入数字皆为正整数(包括0)

2. 仅支持四则运算(+-*/)和括号

3. 结果为整数或分数, 分数必须化为最简格式(比如6, 3/4, 7/8, 90/7)

4. 除数可能为0,如果遇到这种情况,直接输出"ERROR"

5. 输入和最终计算结果中的数字都不会超出整型范围

用例的输入一定合法, 不会出现括号不匹配的情况

输入描述:

字符串格式的表达式,仅支持+-*/,数字可能超过两位,可能带有空格,没有负数

长度小于200个字符

输出描述:表达式结果,以最简格式表达
如果结果为整数,那么直接输出整数

如果结果为分数,那么分子分母不可再约分,可以为假分数,不可表达为带分数

结果可能是负数, 负号放在最前面

示例1

输入:

1 + 5 * 7 / 8

输出:

43/8

说明:

示例2

输入:

1 / (0 - 5)

输出:

-1/5

说明:

负号需要提到最前面

示例3

输入:

1 * (3*4/(8-(7+0)))

输出:

猜你喜欢

转载自blog.csdn.net/2301_76848549/article/details/134998333