实现任意整数的加减乘除(简易计算器)
时间: 2024-01-20 18:03:32 浏览: 29
好的,以下是一个简易计算器的实现,支持任意整数的加减乘除:
```python
def calculate(num1, num2, operator):
if operator == '+':
return num1 + num2
elif operator == '-':
return num1 - num2
elif operator == '*':
return num1 * num2
elif operator == '/':
if num2 == 0:
return "除数不能为0"
else:
return num1 / num2
else:
return "不支持的运算符"
num1 = int(input("请输入第一个数字:"))
num2 = int(input("请输入第二个数字:"))
operator = input("请输入运算符(+、-、*、/):")
result = calculate(num1, num2, operator)
print("计算结果为:", result)
```
运行程序后,会依次提示输入两个数字和运算符,然后输出计算结果。其中,加法用 "+" 表示,减法用 "-" 表示,乘法用 "*" 表示,除法用 "/" 表示。如果除数为0,则会输出提示信息"除数不能为0"。
相关问题
编程实现大整数的加减乘除
大整数的加减乘除是常见的数学运算,可以通过编程实现。下面是Python语言实现大整数加减乘除的示例代码:
1. 大整数加法:
```python
def add(num1, num2):
# 将两个字符串逆序后转换为列表
list1 = list(num1[::-1])
list2 = list(num2[::-1])
res = [] # 存储结果的列表
carry = 0 # 进位
while list1 or list2 or carry:
# 如果列表中还有元素或者有进位
n1 = int(list1.pop()) if list1 else 0
n2 = int(list2.pop()) if list2 else 0
# 相加并加上进位
carry, s = divmod(n1 + n2 + carry, 10)
res.append(str(s))
# 将结果列表逆序转换为字符串
return ''.join(res[::-1])
```
2. 大整数减法:
```python
def sub(num1, num2):
# 将两个字符串逆序后转换为列表
list1 = list(num1[::-1])
list2 = list(num2[::-1])
res = [] # 存储结果的列表
borrow = 0 # 借位
while list1:
# 如果列表中还有元素
n1 = int(list1.pop())
n2 = int(list2.pop()) if list2 else 0
# 减去借位并相减
n1 -= borrow
borrow = 0
if n1 < n2:
n1 += 10
borrow = 1
res.append(str(n1 - n2))
# 去掉结果前面的0
while res and res[-1] == '0':
res.pop()
# 如果结果为空,则表示两个数相等,返回0
return ''.join(res[::-1]) if res else '0'
```
3. 大整数乘法:
```python
def mul(num1, num2):
# 将两个字符串逆序后转换为列表
list1 = list(num1[::-1])
list2 = list(num2[::-1])
res = [0] * (len(list1) + len(list2)) # 存储结果的列表
for i in range(len(list1)):
for j in range(len(list2)):
# 计算乘积并加上当前位置的进位
res[i+j] += int(list1[i]) * int(list2[j])
# 处理进位
res[i+j+1] += res[i+j] // 10
res[i+j] %= 10
# 去掉结果前面的0
while res and res[-1] == 0:
res.pop()
# 将结果列表转换为字符串
return ''.join(map(str, res[::-1]))
```
4. 大整数除法:
```python
def div(num1, num2):
# 将两个字符串转换为整数
n1 = int(num1)
n2 = int(num2)
# 计算商和余数
q, r = divmod(n1, n2)
# 将结果转换为字符串并返回
return str(q), str(r)
```
需要注意的是,上述代码中只考虑了正整数的情况,对于负整数的处理需要额外考虑。
只有加减乘除整数类型的计算器代码
当然可以!以下是一个使用C语言编写的简单计算器代码,支持加法、减法、乘法和除法运算,仅适用于整数类型:
```c
#include <stdio.h>
int main() {
int num1, num2;
char operator;
printf("请输入第一个整数: ");
scanf("%d", &num1);
printf("请输入运算符 (+, -, *, /) : ");
scanf(" %c", &operator);
printf("请输入第二个整数: ");
scanf("%d", &num2);
switch (operator) {
case '+':
printf("%d + %d = %d\n", num1, num2, num1 + num2);
break;
case '-':
printf("%d - %d = %d\n", num1, num2, num1 - num2);
break;
case '*':
printf("%d * %d = %d\n", num1, num2, num1 * num2);
break;
case '/':
if (num2 != 0) {
printf("%d / %d = %d\n", num1, num2, num1 / num2);
} else {
printf("错误:除数不能为0!\n");
}
break;
default:
printf("错误:无效的运算符!\n");
break;
}
return 0;
}
```
这个代码会要求用户输入两个整数和一个运算符,然后根据运算符进行相应的计算,并输出结果。请注意,此代码没有包含输入验证,所以输入无效数据可能导致程序崩溃或产生错误结果。在实际应用中,应该添加适当的输入验证来提高代码的鲁棒性。