用C语言做一个计算器,能实现加减乘除混合运算?

如题所述

是的,可以使用C语言编写一个计算器程序,能够实现加、减、乘、除等混合运算。下面是一个简单的示例程序:

```c
#include <stdio.h>

int main() {
char operator;
double num1, num2, result;

printf("Enter an operator (+, -, *, /): ");
scanf("%c", &operator);

printf("Enter two numbers: ");
scanf("%lf %lf", &num1, &num2);

switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 == 0) {
printf("Error: division by zero!\n");
return -1;
}
result = num1 / num2;
break;
default:
printf("Invalid operator!\n");
return -1;
}

printf("%.2f %c %.2f = %.2f\n", num1, operator, num2, result);
return 0;
}
```

此程序首先提示用户输入一个操作符(+、-、* 或 /),然后提示用户输入两个数字,最后根据操作符执行相应的计算并输出结果。注意,这个程序还包含了一些错误处理代码,例如当用户试图除以零时会给出错误提示。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-03-20
#include <stdio.h>
int main(void) {
char op;
double num1, num2, result;
printf("请输入一个表达式(例如 1+2):");
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 1;
}
printf("结果为 %.2f\n", result);
return 0;
}
在这里,你首先使用 scanf 函数从标准输入中读取一个表达式,例如 1+2。然后,你使用 switch 语句来根据运算符计算表达式的值。如果运算符是 +,那么你将计算 num1+num2 的值;如果运算符是 -,那么你将计算 num1-num2 的值;如果运算符是 ,那么你将计算 num1num2 的值;如果运算符是 /,那么你将计算 num1/num2 的值。如果运算符无效,则你将打印一条错误消息并退出程序。最后,你使用 printf 函数将计算结果打印到标准输出中。
第2个回答  2021-03-23
以前学习C语言和编译原理课程时做过,好像用堆栈数据结构就很容易实现。
相似回答