华为od机试C卷【求分数计算结果】

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

目录

题目

思路

code


题目

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

表达式的限制如下:

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

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值