使用C语言编写一个计算算术表达式的程序
时间: 2024-05-08 22:22:06 浏览: 106
以下是一个简单的C语言程序,可以计算给定算术表达式的结果:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
char expr[100];
printf("请输入算术表达式:");
fgets(expr, 100, stdin);
int result = 0;
char op = '+';
int num = 0;
for (int i = 0; expr[i] != '\0'; i++) {
if (expr[i] >= '0' && expr[i] <= '9') {
num = num * 10 + (expr[i] - '0');
} else if (expr[i] == '+' || expr[i] == '-' || expr[i] == '*' || expr[i] == '/') {
if (op == '+') {
result += num;
} else if (op == '-') {
result -= num;
} else if (op == '*') {
result *= num;
} else if (op == '/') {
result /= num;
}
op = expr[i];
num = 0;
}
}
if (op == '+') {
result += num;
} else if (op == '-') {
result -= num;
} else if (op == '*') {
result *= num;
} else if (op == '/') {
result /= num;
}
printf("结果为:%d\n", result);
return 0;
}
```
该程序首先提示用户输入算术表达式,然后使用 `fgets` 函数从标准输入中读取输入的表达式。接下来,程序遍历表达式中的每个字符,将数字字符转换为数字,将运算符应用于前面的数字和当前数字,并更新结果。最后,程序输出计算的结果。
请注意,此程序假定输入的表达式是有效的算术表达式,并且不支持括号和浮点数。在实际应用中,可能需要更复杂的程序来处理更复杂的表达式。
阅读全文