简述中缀表达式的做题思想:
例如:输入一个表达式为(3+2*5)-3*(1+3)/4-2
定义两个栈,一个是操作符栈(sdoc),一个是操作数栈(sdop)
1.首先判断输入的字符是数还是操作符
如果是操作数:
char cinch;int x;
while((cinch=getchar())!=' \n ') //此处是输入函数并且不为回车时继续输入字符
while ((c=getchar())!='\n')
其中c=getchar()是输入一个字符,赋值给变量c, while ((c=getchar())!='\n') 就是当输入的字符c不是回车的时候,一直循环。
判断一个字符串是否是数字用isdigit函数 头文件是#include<cctype>,可以判断操作符是否为0-9之间的数字
if isdigit(cinch)
然后这里涉及到一个cin.putback函数来做当输入数字是1位数以上的数字<