用c++设计一个简单计算器:输入两个整数d1和d2以及一个运算符op,计算表达式d1 op d2的值,其中op可以为+、-、*、/四个符号中的任意一种,用switch语句实现计算结果存在变量s中
时间: 2023-08-31 19:31:36 浏览: 179
### 回答1:
下面是用 C 语言实现一个简单计算器,可以输入两个整数 d1 和 d2 以及一个运算符 op,计算表达式 d1 op d2 的值,并将结果存在变量 result 中:
```c
#include <stdio.h>
int main() {
int d1, d2;
char op;
float result;
printf("请输入两个整数和一个运算符,用空格分隔:");
scanf("%d %d %c", &d1, &d2, &op);
switch (op) {
case '+':
result = d1 + d2;
break;
case '-':
result = d1 - d2;
break;
case '*':
result = d1 * d2;
break;
case '/':
if (d2 == 0) {
printf("除数不能为 0\n");
return 1;
}
result = (float)d1 / d2;
break;
default:
printf("不支持的运算符 %c\n", op);
return 1;
}
printf("%d %c %d = %.2f\n", d1, op, d2, result);
return 0;
}
```
该程序首先提示用户输入两个整数和一个运算符,然后使用 scanf 函数读入这些数据。注意运算符应该使用 %c 格式读入,因为它是一个字符而不是一个整数。
接下来使用 switch 语句根据运算符计算表达式的值,并将结果存储在变量 result 中。对于除法运算符 /,需要特别注意除数不能为 0 的情况,否则会出现除以 0 的错误。
最后输出表达式和结果,使用 %.2f 格式输出浮点数并保留两位小数。
希望这个示例程序能够帮助你理解如何用 C 语言实现一个简单的计算器。
### 回答2:
下面是一个使用 C 语言设计的简单计算器的代码示例:
```c
#include <stdio.h>
int main() {
int d1, d2;
char op;
float s;
printf("请输入两个整数和一个运算符,用空格隔开:");
scanf("%d %d %c", &d1, &d2, &op);
switch (op) {
case '+':
s = d1 + d2;
break;
case '-':
s = d1 - d2;
break;
case '*':
s = d1 * d2;
break;
case '/':
if (d2 != 0) {
s = (float) d1 / d2;
} else {
printf("错误:除数不能为0\n");
return 1;
}
break;
default:
printf("错误:无效的操作符\n");
return 1;
}
printf("结果:%d %c %d = %.2f\n", d1, op, d2, s);
return 0;
}
```
这段代码首先声明了需要的变量,分别是两个整数 `d1` 和 `d2`、一个字符 `op` 用来存储运算符、一个浮点数 `s` 用来存储结果。然后通过 `scanf` 函数从用户输入中获取 `d1`、`d2` 和 `op` 的值。
接下来使用 `switch` 语句根据 `op` 的值进行不同的计算。对于加法、减法和乘法,通过相应的表达式进行计算并将结果存储在 `s` 中;对于除法,在进行除法计算之前需要判断除数是否为0,若为0则输出错误信息;若不为0,则将结果存储在 `s` 中。
最后使用 `printf` 函数将计算结果进行输出。
注意:该代码示例假设用户输入的是正确的整数并且在除法运算时除数不能为0,没有进行输入检查。在实际编写程序时,需要对输入进行验证和错误处理。
### 回答3:
下面是用C语言设计的一个简单计算器的示例代码:
```c
#include <stdio.h>
int main() {
int d1, d2;
char op;
float s;
printf("请输入第一个整数:");
scanf("%d", &d1);
printf("请输入第二个整数:");
scanf("%d", &d2);
printf("请输入运算符(+、-、*、/):");
scanf(" %c", &op); // 注意 %c 前面的空格符,用以去除上一个输入中的换行符
switch(op) {
case '+':
s = d1 + d2;
break;
case '-':
s = d1 - d2;
break;
case '*':
s = d1 * d2;
break;
case '/':
if(d2 == 0) {
printf("除数不能为0!\n");
return 0;
}
s = (float)d1 / d2;
break;
default:
printf("运算符输入错误!\n");
return 0;
}
printf("运算结果为:%.2f\n", s);
return 0;
}
```
这段代码首先定义了变量 d1 和 d2(用来表示两个整数)、op(用来表示运算符)和 s(用来存储计算结果)。然后通过 scanf 函数分别从用户输入中获取 d1、d2 和 op 的值。
接着使用 switch 语句根据 op 的值进行不同的操作。当 op 为 '+' 时,将 d1 和 d2 相加并将结果赋给 s;当 op 为 '-' 时,将 d1 和 d2 相减;当 op 为 '*' 时,将 d1 和 d2 相乘;当 op 为 '/' 时,将 d1 除以 d2 并将结果赋给 s。如果 op 不是上述四种运算符之一,则输出错误提示。
最后,使用 printf 函数将计算结果 s 输出给用户。如果运算符为除法且除数为0,则会输出除数不能为0的错误提示。
注意:这个简单计算器只适用于整数的加减乘除运算,对于浮点数的运算可能会产生较大误差。