[求助]关于表达试的计算
就是可以计算+ -* /()的计算器 但是要按照 运算守则来计算 比如说 先计算*/ 在算+ - …… …
[此贴子已经被作者于2006-10-9 21:43:09编辑过]
就是可以计算+ -* /()的计算器 但是要按照 运算守则来计算 比如说 先计算*/ 在算+ - …… …
[此贴子已经被作者于2006-10-9 21:43:09编辑过]
2006-10-07 21:28
2006-10-07 21:29
2006-10-07 21:31
2006-10-07 22:18
2006-10-07 22:31
2006-10-09 21:42
将这些用做字符输入,再将中缀表达式转换为后缀表达式.(这里有数字字符转换为数的操作)
再利用栈就可以搞定了.
1.字符转数字
2.中缀转后缀
3.优先级的判断
4.进栈,出栈.
我还有个问题哦 你说的把着写用字符输入 那输入的字符应该是放在一个数组里吧 等用到运算符号计算的时候 符号怎么在转换过来呢? 符号在数组里 没发当运算符来用吧

2006-10-09 21:51
a b * 5 - 操作符在操作数之后.
哦哦 对对 我刚刚又仔细的做了一边 是ab*5-
那在怎么出栈呢?
[此贴子已经被作者于2006-10-9 22:19:01编辑过]

2006-10-09 22:14
遇到操作符就说明前面是一个数(注意处理最后一个数).把数直接压栈,操作符是不用转换的,直接做判断就可以了.还有操作符是不用压栈的,只在外部做判断,不进入栈中.
没看明白 我想的是 开始肯定是要求输入表达式的吧 应该是用gets(A) 吧? 把a*b-5都放到数组A中吧 ? 然后用中缀专后缀 然后在一边出栈一边计算 最后计算出结果来 。
2006-10-09 22:29
噢? 原来是边压栈边判断边计算啊!
[此贴子已经被作者于2006-10-9 22:41:00编辑过]

2006-10-09 22:35