




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机科学与工程学院计算机科学与工程学院算法与数据结构实验报告(三)专业班级2013网络工程01实验地点423机房学生学号1305120411指导教师赵卿松学生姓名何彬实验时间2015-4-24实验项目栈的应用实验类别基础性() 设计性() 综合性() 其它( )实验目的及要求(1)掌握栈的特点及其存储方法;(2)掌握栈的常见算法以及程序实现;(3)了解递归的工作过程。成 绩 评 定 表类 别评 分 标 准分值得分合 计上机表现积极出勤、遵守纪律按要求完成设计任务30分程序与报告程序代码规范、功能正确报告详实完整、体现收获70分说明: 评阅教师: 赵卿松 日 期: 2015 年 4 月 25 日实 验 内 容实验内容:表达式求值问题。这里限定的表达式求值问题是: 用户输入一个包含“+”、“-”、“*”、“/”、正整数和圆括号的合法数学表达式,计算该表达式的运算结果。算术表达式求值过程是: STEP 1:先将算术表达式转换成后缀表达式。 STEP 2:然后对该后缀表达式求值。实验说明:在设计相关算法中用到栈,这里采用顺序栈存储结构。初始化运算符栈op;将=进栈;从exp读取字符ch;while (ch!=0) if (ch不为运算符)将后续的所有数字均依次存放到postexp中,并以字符#标志数值串结束; else switch(Precede(op栈顶运算符,ch) case : /栈顶运算符应先执行,所以出栈并存放到postexp中 退栈运算符并将其存放到postexp中; break; 若字符串exp扫描完毕,则将运算符栈op中=之前的所有运算符依次出栈并存放到postexp中。最后得到后缀表达式postexp; 中缀表达式exp =后缀表达式postexp伪代码如下:对后缀表达式postexp求值伪代码如下:while (从postexp读取字符ch,ch!=0) 若ch为数字,将后续的所有数字构成一个整数存放到数值栈st中。 若ch为“+”,则从数值栈st中退栈两个运算数,相加后进栈st中。 若ch为“”,则从数值栈st中退栈两个运算数,相减后进栈st中。 若ch为“*”,则从数值栈st中退栈两个运算数,相乘后进栈st中。 若ch为“/”,则从数值栈st中退栈两个运算数,相除后进栈st中(若除数为零,则提示相应的错误信息)。若字符串postexp扫描完毕,则数值栈op中的栈顶元素就是表达式的值。实 验 内 容#include#include #define maxsize 100/中缀表达式str转换为后缀表达式expvoid trans(char str,char exp) struct char datamaxsize;int top;op;char ch;int i=0,t=0;op.top=-1;ch=stri;i+;while(ch!=0) switch(ch) case (: op.top+;op.dataop.top=ch;break;case ):while(op.dataop.top!=()expt=op.dataop.top;op.top-;t+;op.top-;break;case +:case -: while(op.top!=-1&op.dataop.top!=() expt=op.dataop.top; op.top-; t+; op.top+;op.dataop.top=ch;break;case *:case /: while(op.dataop.top=*|op.dataop.top=/) expt=op.dataop.top;op.top-;t+;op.top+;op.dataop.top=ch;break;case :break;default:while(ch=0&ch=0&ch=9) d=10*d+ch-0;ch=expt;t+;st.top+;st.datast.top=d;ch=expt;t+;return st.datast.top;main() char strmaxsize,expsmaxsize;printf(please input a expressions,just include +,-,*,/and integers:); gets(str);/输入一个中缀表达式printf(old is: %sn,str);trans(str,exps);/转换printf(after i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医疗保健行业远程医疗技术应用研究报告
- 2025年智能安防行业智能监控设备与智能安防系统研究报告
- 2025年数字化广告行业全球消费者洞察研究报告
- 2025南昌红投人力资源有限公司招聘派驻造价工程师5人考前自测高频考点模拟试题及一套参考答案详解
- 2025年上半年齐齐哈尔医学院附属第二医院公开招聘编制内工作人员20人考前自测高频考点模拟试题及答案详解(典优)
- 2025广东佛山市南海区狮山镇横岗小学招聘1人模拟试卷附答案详解(典型题)
- 2025福建漳州市供电服务有限公司招聘39人考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025年枣庄市胸科医院公开招聘备案制工作人员(13人)模拟试卷及一套参考答案详解
- 2025年湖南轨道汇能发展有限公司第二次招聘考前自测高频考点模拟试题及答案详解(有一套)
- 2025江苏东南大学招聘5人模拟试卷及答案详解(名师系列)
- GB/T 45951-2025科技馆常设展览实施通用流程
- 新生儿硬肿症个案护理
- (2025)汽车驾驶员(技师)考试题库及答案
- 2025年全科医师转岗培训理论必刷试题库及答案
- 城市智能感知系统-洞察及研究
- 中储粮损耗管理办法
- 2025年《治安管理处罚法》新修订课件
- 【课件】有理数的加法(第1课时+有理数的加法法则)(课件)数学人教版2024七年级上册
- 透析患者血磷控制健康宣教
- 2025年江苏省苏州市中考数学模拟试卷(十三)(含答案)
- 项目制用工管理制度
评论
0/150
提交评论