用switch语句编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式: 操作数1 运算符op 操作数2
时间: 2023-11-29 12:05:49 浏览: 63
,输出运算结果。如果输入的运算符不是加、减、乘、除中的一个,则输出“无效的运算符”。
示例输入1:
2 + 3
示例输出1:
5
示例输入2:
4 - 7.5
示例输出2:
-3.5
示例输入3:
8 & 9
示例输出3:
无效的运算符
代码如下:
```python
num1, op, num2 = input().split()
num1 = float(num1)
num2 = float(num2)
if op == '+':
print(num1 + num2)
elif op == '-':
print(num1 - num2)
elif op == '*':
print(num1 * num2)
elif op == '/':
print(num1 / num2)
else:
print("无效的运算符")
```
相关问题
用switch语句编程设计一个简单的整数计算器程序,要求根据用户从键盘输入的表达式: 操作数1 运算符op 操作数2
,输出运算结果。
具体要求如下:
1. 支持加、减、乘、除四种基本运算。
2. 支持整数和浮点数运算。
3. 如果用户输入的表达式无法计算或者操作符不合法,程序需要输出提示信息。
4. 如果用户输入的操作数不合法,程序需要输出提示信息。
5. 如果用户输入的操作数是浮点数,程序需要输出结果保留两位小数。
下面是代码实现:
```c
#include <stdio.h>
int main() {
double num1, num2, result;
char op;
printf("请输入表达式(格式:操作数1 运算符 操作数2):\n");
scanf("%lf %c %lf", &num1, &op, &num2);
switch (op) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 == 0) {
printf("错误:除数不能为0!\n");
return 0;
}
result = num1 / num2;
break;
default:
printf("错误:不支持的运算符!\n");
return 0;
}
if (result == (int)result) {
printf("结果为:%d\n", (int)result);
} else {
printf("结果为:%.2f\n", result);
}
return 0;
}
```
使用示例:
```
请输入表达式(格式:操作数1 运算符 操作数2):
12.5 * 3
结果为:37.50
```
```
请输入表达式(格式:操作数1 运算符 操作数2):
2 / 0
错误:除数不能为0!
```
```
请输入表达式(格式:操作数1 运算符 操作数2):
2 # 3
错误:不支持的运算符!
```
```
请输入表达式(格式:操作数1 运算符 操作数2):
2 3
错误:操作符不合法!
```
c语言用switch 语句编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数 1 运算符 op 操作数 2 计算表达式的值,指定的算术运算符为加 (+)、减 (-)、乘 (*)、除 (/)。
以下是一个简单的计算器程序,使用switch语句实现:
```c
#include <stdio.h>
int main() {
char op;
double num1, num2, result;
printf("请输入表达式(例如:2 + 3):");
scanf("%lf %c %lf", &num1, &op, &num2);
switch(op) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
printf("错误的操作符!\n");
return 0;
}
printf("结果为:%.2lf\n", result);
return 0;
}
```
运行程序后,用户输入表达式,程序会读取操作数1、运算符和操作数2,然后根据操作符进行相应的计算。如果操作符不合法,则程序会输出错误信息。最终,程序会输出结果。注意,结果使用了%.2lf格式化输出,保留两位小数。