请教一个四则算法~~

jieming1983 2005-05-19 12:38:26
手头上有个问题,就是写一个关于“(”“)”“+”“-”“*”“/”的算法,要求是写个函数,让这个函数计算出某个带有以上运算符的式子;例如,式子为((a+b)*c)+(c+d)*c ,通过函数类似count(s:string;value:array of string)计算出式子结果,其中s为具体的式子,value为变量的值。
不知道网上有没有现成的这样的函数,,很急啊,望高手们帮忙!!
...全文
117 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jieming1983 2005-05-24
  • 打赏
  • 举报
回复
感谢 yangliu(逍遥游)!!可是我不知道怎么给分,谁能告诉我?
勿为 2005-05-24
  • 打赏
  • 举报
回复
不用给我了,我都多的用不完,你给别人吧.
hellolongbin 2005-05-24
  • 打赏
  • 举报
回复
点【管理】
rcyboom 2005-05-21
  • 打赏
  • 举报
回复
用perl吧
很方便的
勿为 2005-05-21
  • 打赏
  • 举报
回复
http://tansuo.51.net/article/showarticle.php?aid=4
linzhengqun 2005-05-19
  • 打赏
  • 举报
回复
网上算法太多了,
找一下后缀表达式求值,然后根据算法自己写吧。并不难。

另外,如果要表达式有语法检查的功能就要有表达式的产生式,再根据产生式进行语法分析。
表达式的产生式给你算了,接下来你自己搞定吧:
E -> T+E | T-E | T
T -> F*T | F/T | F
F -> (E) | i
hellolongbin 2005-05-19
  • 打赏
  • 举报
回复
同一个问题发两遍?
那我就回两遍

如果你的程序能连数据库的话,用一个select语句就可以得到结果了
比如
s:='23*4+15-26';
adoquery1.sql.add('select '+s);
然后open
showmessage(adoquery1.fields[0].asstring)看看就知道了
给分吧,哈哈

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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