目录
题目
<给定一个 表达式 ,求其分数计算结果。
表达式的限制如下:
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)))
输出:
12
这是一篇关于华为在线开发者(OD)测试中的一道题,要求编写算法解决分数计算问题。给定一个符合特定规则的表达式,计算其结果,并确保结果是最简分数形式。当遇到除数为0时,输出'ERROR'。输入保证合法,不会出现括号匹配错误。文章提供了几个示例来说明输入输出格式,并预告了后续的解题思路和代码实现。
订阅专栏 解锁全文

3895

被折叠的 条评论
为什么被折叠?



