PTA基础编程题目集 7-12 两个数的简单计算器 (10分)

该博客介绍了如何编写一个简单的计算器程序,能够处理加、减、乘、除和求余五种基本运算。针对Python、Java和C++三种语言,分别给出了实现方式。在Python中,利用eval函数可以方便地完成计算;而在Java和C++中,使用switch语句可以解决,同时注意避免非法运算符和确保输出结果为整型。博主提醒,滥用eval存在安全隐患,Java还可以通过解析JS脚本来模拟eval功能,但可能不被所有编译器支持。
摘要由CSDN通过智能技术生成

本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。

输入格式:
输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。

输出格式:
当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。

输入样例1:

-7 / 2

输出样例1:

-3

输入样例2:

3 & 6

输出样例2:

ERROR

对于Python来说,只需要判断一下运算符是否合规,然后用eval函数处理一下输出就好.
对于Java和C++,虽然没有eval函数,但是用switch语句能很轻松的解决,还不需要额外判断运算符是否合规.
另外,java可以解析js脚本,以实现eval功能,但是可能是因为编译器不同,网站并不支持.
需要注意以下几点:

  • 题目要求输出为整型.对于Python,因为是动态类型,所以输出的时候需要转成整型,对于java和C++,由于两个操作数已经声明成整型,可以直接输出计算解决.
  • switch语句每个case后面要加入break语句,否则会从匹配到的case开始,依次执行各case的代码块.
  • 滥用eval是万恶之源.

Python

def main():
	s=input()
	if s.split(" ")[1] not in "+-*/%":
		print
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值