PTA 7-9-02 两个数的简单计算器

本文介绍了一个编程练习,涉及整数A和B根据输入符号(ch)执行相应的算术操作,如加、减、乘、除或求余,并处理无效输入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。

输入格式:

输入整数A、符号ch和整数B。

输出格式:

根据符号ch,在一行中输出A ch B的值。

如果ch是+,则输出A+B的值

如果ch是-,则输出A-B的值

如果ch是*,则输出A * B的值

如果ch是/,则输出A/B的值(题目保证B不为0,并且结果只取其整数值)

如果ch是%,则输出A%B的值

如果ch是其他符号,则直接输出ERROR

输入样例1:

12+4

输出样例1:

12+4=16

输入样例2:

12&4

输出样例2:

ERROR

 

### PTA 题目 7-2 简易计算器解析 PTA 题目 7-2 要求设计一个简易计算器程序,能够处理基本的四则运算操作(加法、减法、乘法和除法)。以下是该题目的实现思路以及代码示例。 #### 功能需求分析 简易计算器的核心功能是对个输入数值执行指定的操作符计算。具体来说,用户需提供三个参数:第一个数 `a`、第二个数 `b` 和操作符 `op`。支持的操作符包括 `'+'`, `'-'`, `'*'`, `'/'`。对于非法输入或特殊情形(如除零错误),应返回相应的提示信息[^1]。 #### 设计方案 为了完成此任务,可以采用如下逻辑结构: 1. 接收用户的输入数据; 2. 判断输入的有效性并验证操作符合法性; 3. 执行对应的算术运算; 4. 输出结果或者异常消息。 下面是一个 Python 的解决方案: ```python def simple_calculator(): try: a, op, b = input().split() # 输入形如 "num1 operator num2" a, b = float(a), float(b) # 将字符串转换成浮点数 if op == '+': result = a + b elif op == '-': result = a - b elif op == '*': result = a * b elif op == '/': if b != 0: # 检查分母是否为零 result = a / b else: return 'Divided by zero!' else: return 'Invalid operation!' # 如果不是合法的操作符,则报错 return f'{result:.2f}' # 返回保留位小数的结果 except Exception as e: return 'Error occurred during calculation!' print(simple_calculator()) ``` 上述代码实现了对标准输入流中的三部分——数及其间的一个二元运算符——进行读取,并依据给定条件完成了相应计算[^2]。注意这里采用了异常捕获机制来增强健壮性;当遇到无法预料的情况时,比如不恰当的数据类型转化尝试,函数会优雅退出而不是崩溃。 #### 测试案例 考虑几个典型的测试场景可以帮助确认算法行为符合预期: | **Input** | **Output** | |-------------------|------------------| | `5 + 8` | `13.00` | | `-7 * 3` | `-21.00` | | `9 / 0` | `Divided by zero!` | | `abc - def` | `Error occurred during calculation!` | 以上表格展示了不同情况下的表现特征[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值