输入波兰符号法算式,求出公式类型,c代码
时间: 2023-08-18 22:22:32 浏览: 52
好的,以下是一个简单的 C 代码实现,可以根据输入的波兰符号法算式判断出公式类型:
```c
#include <stdio.h>
#include <string.h>
int main() {
char expr[100];
printf("请输入波兰符号法算式:");
fgets(expr, 100, stdin); // 从标准输入读取输入的算式
char *token = strtok(expr, " "); // 使用空格作为分隔符,将输入的算式分割成一个个字符串
int numCount = 0, opCount = 0; // 统计操作数和运算符的个数
while (token != NULL) {
if (token[0] >= '0' && token[0] <= '9') {
numCount++;
} else {
opCount++;
}
token = strtok(NULL, " ");
}
if (numCount == opCount + 1) {
printf("公式类型为基本四则运算。\n");
} else if (numCount == opCount) {
printf("公式类型为逆波兰表达式。\n");
} else {
printf("输入的算式不合法。\n");
}
return 0;
}
```
这个代码使用了 strtok 函数将输入的算式分割成一个个字符串,并根据数字和运算符的数量来判断公式类型,如果操作数的数量比运算符数量多 1,那么就是基本四则运算,如果操作数和运算符数量相等,那么就是逆波兰表达式。如果操作数和运算符数量都不符合要求,那么就是输入的算式不合法。