用C语言写一个表达式计算器
时间: 2023-07-01 11:06:26 浏览: 134
以下是一个简单的表达式计算器的C语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_EXPR_LEN 100 // 表达式最大长度
typedef enum {
NONE, ADD, SUBTRACT, MULTIPLY, DIVIDE
} Operator; // 定义操作符类型
int main() {
char expr[MAX_EXPR_LEN]; // 存储表达式
int num1, num2; // 存储操作数
Operator op = NONE; // 存储操作符
int result; // 存储计算结果
printf("请输入表达式:");
fgets(expr, MAX_EXPR_LEN, stdin); // 从命令行读入表达式
// 解析表达式
char *p = expr;
while (*p != '\0') {
if (*p >= '0' && *p <= '9') {
// 解析数字
if (op == NONE) {
num1 = num1 * 10 + (*p - '0');
} else {
num2 = num2 * 10 + (*p - '0');
}
} else if (*p == '+') {
// 解析加号
op = ADD;
} else if (*p == '-') {
// 解析减号
op = SUBTRACT;
} else if (*p == '*') {
// 解析乘号
op = MULTIPLY;
} else if (*p == '/') {
// 解析除号
op = DIVIDE;
}
p++;
}
// 计算结果
switch (op) {
case ADD:
result = num1 + num2;
break;
case SUBTRACT:
result = num1 - num2;
break;
case MULTIPLY:
result = num1 * num2;
break;
case DIVIDE:
if (num2 != 0) {
result = num1 / num2;
} else {
printf("除数不能为0!\n");
exit(1);
}
break;
default:
printf("表达式无效!\n");
exit(1);
}
// 输出结果
printf("计算结果:%d\n", result);
return 0;
}
```
这个计算器可以解析简单的四则运算表达式,包括加、减、乘、除四种操作符。你可以通过命令行输入表达式,如输入“1+2”,计算器将输出“计算结果:3”。
阅读全文