如果将计算字符数组转换成表达式,并计算其结果

ldongpeng 2004-09-24 09:43:44
求解算法:
主要实:是将字符数组的字符串,解释成可以计算机的表达式,并计算表达式的结果
比如:有一个字符串
char *string="((3+4)*5-5)/5";
然后经处理后
就可以得到((3+4)*5-5)/5的结果6。
...全文
100 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ldongpeng 2004-09-25
  • 打赏
  • 举报
回复
好了,我找到书翻了下, 已经搞懂了先转波兰式在用堆栈实现。
而用二叉树,只用来转波兰式吗,还有其他巧妙的方法吗 ?
lw549 2004-09-25
  • 打赏
  • 举报
回复
>>好了,我找到书翻了下, 已经搞懂了先转波兰式在用堆栈实现。
而用二叉树,只用来转波兰式吗,还有其他巧妙的方法吗 ?

有的,不过不是巧妙的方法
分析字符数组,计算结果,将得到的结果替换计算的表达式,直到将字符串替换为一个数字为止

http://lw549.mblogger.cn/posts/808.aspx

程序是用delphi写的,不过思路是相通的。
ldongpeng 2004-09-24
  • 打赏
  • 举报
回复
手快打错字了,小弟是想问下大家可以对处理流程讲解下或给个处理函数的源代码吗?
ldongpeng 2004-09-24
  • 打赏
  • 举报
回复
小弟,现在没有太多书翻啊!大家可以数下,处理流程或者源码吗??
hcj2002 2004-09-24
  • 打赏
  • 举报
回复
数据结构中堆栈的操作。
pacman2000 2004-09-24
  • 打赏
  • 举报
回复
是啊,一般是用堆栈或者二叉树做的。。。
daylove 2004-09-24
  • 打赏
  • 举报
回复
楼上的,什么时候升三个裤头了,
paranoid_gre 2004-09-24
  • 打赏
  • 举报
回复
恩,大学数据结构教材上有的,用栈表示
kobefly 2004-09-24
  • 打赏
  • 举报
回复
数据结构
堆栈操作
hy1080 2004-09-24
  • 打赏
  • 举报
回复
看看编译原理或是找个计算器源码看看吧,好象见到的都用逆波兰式的

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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