模拟简单计算器
编写一个模拟简单计算器的程序,计算表达式:a1 op a2的值,要求从键盘输入a1、op、a2。
其中a1、a2(作除数时不能为0)为数值,op为运算符+、-、*、/。
输出结果要求为double类型,如输入:1+1,程序应该返回2.000000。
#include <stdio.h>
int main() {
double a1, a2;
char op;
scanf("%lf%c%lf", &a1, &op, &a2); // 输入 a1、op 和 a2 的值
switch (op) {
case '+':
printf("%lf", a1 + a2); // 执行加法运算并打印结果
break;
case '-':
printf("%lf", a1 - a2); // 执行减法运算并打印结果
break;
case '*':
printf("%lf", a1 * a2); // 执行乘法运算并打印结果
break;
case '/':
if (a2 != 0)
printf("%lf", a1 / a2); // 执行除法运算并打印结果
else
printf("input error"); // 除数为零,打印错误信息
break;
default:
printf("input error"); // 输入的运算符不合法,打印错误信息
}
return 0; // 返回 0,表示程序成功执行并退出
}
这段代码实现了以下功能:
引入头文件 stdio.h,其中包含了输入输出函数的定义。
在 main 函数中声明双精度浮点型变量 a1、a2,以及字符型变量 op,用于存储输入的数值。
使用 scanf 函数获取输入的 a1、op 和 a2 的值。
使用 switch 语句根据输入的运算符进行不同的操作。
如果运算符为 +,执行加法运算并使用 printf 函数打印结果。
如果运算符为 -,执行减法运算并使用 printf 函数打印结果。
如果运算符为 *,执行乘法运算并使用 printf 函数打印结果。
如果运算符为 /,先判断除数是否为零,若不为零则执行除法运算并使用 printf 函数打印结果,若为零则打印错误信息。
如果输入的运算符不是上述四种情况,则打印错误信息 "input error"。
返回 0,表示程序成功执行并退出。