c语言高级计算器代码
时间: 2024-11-25 10:14:40 浏览: 49
在C语言中编写一个高级计算器程序通常涉及到用户输入、数学运算以及处理各种类型的表达式。这里提供一个简单的命令行版本的四则运算计算器示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
// 函数声明
double calculate(double a, char op, double b);
int main() {
double num1, num2;
char oper;
printf("请输入第一个数字: ");
scanf("%lf", &num1);
printf("请输入操作符 (+, -, *, /): ");
scanf(" %c ", &oper);
printf("请输入第二个数字: ");
scanf("%lf", &num2);
// 检查输入是否合法
if (isspace(oper) || oper == '\n') {
printf("错误: 操作符无效\n");
return 0;
}
double result = calculate(num1, oper, num2);
if (!isnan(result)) {
printf("%.2f %c %.2f = %.2f\n", num1, oper, num2, result);
} else {
printf("无法计算: 输入导致了除数为零等错误\n");
}
return 0;
}
// 实现基本的运算函数
double calculate(double a, char op, double b) {
switch (op) {
case '+':
return a + b;
case '-':
return a - b;
case '*':
return a * b;
case '/':
if (b != 0)
return a / b;
else
return INFINITY; // 或者返回适当的错误值
default:
return NAN; // 如果操作符不是预期的四个,则返回NaN
}
}
```
这个代码片段定义了一个基本的命令行计算器,用户可以输入两个数字和一个运算符,然后程序会执行相应的运算并显示结果。
阅读全文
相关推荐
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)