有一个字符型的表达式(a+b)*(c+d),要求展开得到a*c+a*d+b*c+b*d,请问用C++该如何处理

日期:2011-03-13 17:07:30 人气:3

有一个字符型的表达式(a+b)*(c+d),要求展开得到a*c+a*d+b*c+b*d,请问用C++该如何处理

设置两个栈,一个数据栈,一个运算符栈,由左边读取, 第一个"("写入运算符栈 第二个a写入数据栈 第三个“+”写入一个运算符栈 第四个b 查看下一位不是* / 而且运算符栈第一位是+号那么就 “a” “+” 出栈,计算出结果(假设为A)来后放回数据栈 第五个“)”出栈"(", ”A“ 与”)“计算后A继续放回数据栈。。。。 一时讲不清,自己看书吧
    A+
热门评论