能用c语言写一段识别混合加减乘除运算的程序吗?
时间: 2023-05-29 17:06:41 浏览: 130
可以,以下是一个示例程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char expression[100];
printf("请输入一个混合加减乘除运算表达式:\n");
scanf("%s", expression);
int num1 = 0, num2 = 0, result = 0;
char operator = '+';
for (int i = 0; expression[i] != '\0'; i++) {
if (isdigit(expression[i])) {
num2 = num2 * 10 + (expression[i] - '0');
} else {
switch (operator) {
case '+':
result += num1;
num1 = num2;
break;
case '-':
result += num1;
num1 = -num2;
break;
case '*':
num1 *= num2;
break;
case '/':
num1 /= num2;
break;
}
operator = expression[i];
num2 = 0;
}
}
switch (operator) {
case '+':
result += num1;
break;
case '-':
result += num1;
num2 = -num2;
break;
case '*':
num1 *= num2;
result += num1;
break;
case '/':
num1 /= num2;
result += num1;
break;
}
printf("运算结果为:%d\n", result);
return 0;
}
```
该程序通过循环遍历输入的表达式,逐个识别数字和运算符,并根据运算符进行相应的计算。最后输出计算结果。需要注意的是,该程序只能处理整数运算,且不支持括号和优先级的处理。
阅读全文