中缀表达式求值.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中缀表达式求值

江西理工大学软件学院 计算机类课程实验报告 课程名称: 数据结构 班 级: 11软件会计4班 姓 名: 黄健 学 号: 江西理工大学软件学院 一、目录(中缀表达式求值) 1、目录--------------------------------------------------------------2 2、实验目的--------------------------------------------------------3 3、实验要求--------------------------------------------------------3 4、实验仪器设备与材料-----------------------------------------3 5、实验原理--------------------------------------------------------4 6、实验步骤--------------------------------------------------------5 7、实验原始记录--------------------------------------------------6 8、实验数据分析计算结果--------------------------------------10 9、实验心得体会--------------------------------------------------11 10、思考题----------------------------------------------------------12 二:实验目的: 对一个合法的中缀表达式求值。简单起见,假设表达式只包含+,-,*,÷等4个双目运算符,且运算符本身不具有二义性,操作数均为一位数整。 三:要求: 1、正确解释表达式 2、符合四则运算规格 3、输出最后的计算结果 四:实验仪器设备与材料 参考书籍 电脑及其配件 Microsoft Visulai C++ 6.0 五:实验原理 对中缀表达式求值,通常使用“酸腐优先算法”。根据四则运算规则,在运算的每一步中,任意两个相继出班的运算符t和c之间的优先关系至多是下面三种关系之一: t的优先级低于c t的优先级高于c t的优先级高于c 为实现算符优先算法,可以使用两个工作栈:一个栈存放运算符;另一个栈存放操作数,中缀表达式用一个字符串数组存储。 六:实验步骤 基本操作: Initialization() 操作结果:构造链栈 tran() 初始条件:链栈已经存在 操作结果:将中缀表达式转化为后缀表达式 Sum() 初始条件:链栈已经存在并且中缀表达式已经转化为后缀表达式 操作结果:求出表达式的值 程序包括三个模块: (1)装程序模块 (2)构造链栈模块 (3)表达式转换模块 (4)表达式求职模块 最后测试数据: 输入表达式,以#结束: 后缀表达式为: 输出后缀表达式 计算结果为: 输出计算结果 七:实验原始记录 struct node { char datat; int num; struct node*next; }; Void main() { Struct node*top,*head; Top=initialization(); Printf(请输入表达式,以#结束:\n); Gets(stringl); Head=tran(top); Sum(head); } Struct node*initialization() { Struct node*top; Top=(struct node*)malloc(sizeof(struct node)); Top-data=; Top-num=0; Top-next=NULL; Return top; } Struct node*p,*top; Int i; To p=s; Int m; Char a; M=strlen(string1); For(i=0;i=m;i++) { a=string1[i]; If(0=string1[i]string1[i]=9) { String2[j]=string1[i];j++; } Else { Swith(a)

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档