关于科学计算器中的括号(C#)

aspnetKarl 2010-02-08 11:00:17
问一个各位,我现在在做一个科学计算器,其他的基本都已完成,就是括号不知道该怎么用 有点模糊,请高手指点,如何在运算使用括号!谢谢各位大侠!
...全文
648 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
whb147 2010-02-08
  • 打赏
  • 举报
回复
遇到(先入栈
遇到)就出栈计算
浪子-无悔 2010-02-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 liherun 的回复:]
遍历所有左括号,当前左括号右面的右括号之前没有左括号 先把他们计算出来,然后把左右括号和中间的计算式替换成计算结果,然后递归
[/Quote]
学习了,哈哈。。。。
波导终结者 2010-02-08
  • 打赏
  • 举报
回复
这涉及到编译原理,先把括号出入栈解决吧
aspnetKarl 2010-02-08
  • 打赏
  • 举报
回复
4楼,具体能说说看吗?遍历我也不懂的。谢谢!
liherun 2010-02-08
  • 打赏
  • 举报
回复
(1+(2*(3-1)))
3左面的左括号和1右面的右括号之间没有左括号把他们计算出来 3-1=2
然后把(3-1)替换为2,原式子变为(1+(2*2))
递归,这次计算2*2
依次类推
注意一下负号问题
风之影子 2010-02-08
  • 打赏
  • 举报
回复
直接调用表的计算方法,让系统帮你来计算。


DataTable dt=new DataTable();
dt.Compute("你所要计算的表达式",null);
liherun 2010-02-08
  • 打赏
  • 举报
回复
遍历所有左括号,当前左括号右面的右括号之前没有左括号 先把他们计算出来,然后把左右括号和中间的计算式替换成计算结果,然后递归
LYM_MEIMEI 2010-02-08
  • 打赏
  • 举报
回复
up up up 啊!
readfuture 2010-02-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mxc1225 的回复:]
我觉得是调整优先级的问题!!
[/Quote]
up
mxc1225 2010-02-08
  • 打赏
  • 举报
回复
我觉得是调整优先级的问题!!

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧