下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子信息学院实验报告书课程名: 数据结构 题 目: 实验三 后缀表达式求值 实验类别 设计 班 级: 软件1412 学 号: 5 姓 名: 阿妹 评语:实验态度:认真( ) 一般( ) 差( )实验结果:正确( ) 部分正确( )错( )实验理论:掌握( ) 熟悉( ) 了解( ) 不懂( )操作技能:强( ) 一般( ) 差( )实验报告:好( ) 一般( ) 差( )成绩: 指导教师: 批阅时间: 年 月 日1、 实验内容或题目1、 用键盘输入一个整数后缀表达式(操作数的范围是09,运算符只含+、-、*、/,而且中间不可以有空格),使用循环程序从左向右读入表达式。2、 如果读入的是操作数,
2、直接进入操作数栈。3、 如果读入的是运算符,立即从操作数栈取出所需的操作数,计算操作数运算的值,计算操作数运算的值,并将计算结果存回操作数栈。4、 检验程序运行结果。实验目的与要求目的:1、 掌握栈“后进先出”的特点。2、 掌握栈的典型应用后缀表达式求值。要求:1、 分析后缀表达式求值的算法思想,用c(c+)语言设计程序。2、 上机调试通过实验程序。3、 给出具体的算法分析,包括时间复杂度和空间复杂度等。4、 撰写实验报告。5、 本程序调试通过以后,添加到原教材验证性实验3的菜单中。2、实验步骤与源程序 实验步骤首先进行栈的存储结构生命,再定义指向栈的指针,然后依次进行进栈操作、开辟空间、构造
3、结点、入栈和修改栈顶指针。再用void main()函数来求逆波兰式,char stackSTACKMAX表示存储算术表达式,char expSTACKMAX表示运算符号栈。用while(stri!=#&i!=STACKMAX);来接受输入表达式,用sum记录输入表达式总的字符个数。 源代码#include#define Maxlen 20typedef struct char dataMaxlen; int top; opstack; typedef struct float dataMaxlen; int top;stack;float compvalue(char exp) stack
4、st; float d; char ch; int t=0; st.top=-1; ch=expt+; while(ch!=0) switch(ch) case+: st.datast.top-1=st.datast.top-1+st.datast.top; st.top-; break; case-: st.datast.top-1=st.datast.top-1-st.datast.top; st.top-; break; case*: st.datast.top-1=st.datast.top-1*st.datast.top; st.top-; break; case/: if(st.d
5、atast.top!=0) st.datast.top-1=st.datast.top-1/st.datast.top; st.top-; else printf(nt 表达式中有除数为零,本次计算无效!n ); break; default: if(ch=0 & ch=9) d=ch-0; st.top+; st.datast.top=d; ch=expt+; return st.datast.top; int main() char strMaxlen,expsMaxlen; printf(n请输入一个整数后缀表达式: );gets(str); printf(n其运算的结果为: %gnn,compvalue(exps);3、 测试数据与实验结果(可以抓图粘贴) 4、 结果分析与实验体会程序可以运行,但是我觉得在设计一个程序时看清题目的目的和要求很重要,我一开始没看清要求,开始在考虑怎么把算术表达式转化为后缀表达式,但后来再次理解了一下题目,才发现理解错了。然后参考了一下书上的程序,幸好题目要求不是很难,只是要求计算09中的数进行相关计算,在这几个函数中,我觉得要考虑到使用switch()有点难度,开始没有显得用这个函数。这个函数中最难的就是对各个函数的调用,特别是计算后缀表达式的函数,与进栈,出栈联系到一起,真麻烦,但是经过不断得调试以及请教学霸,最后终于解决
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届黑龙江省萝北县市级名校中考语文考试模拟冲刺卷含解析
- 江苏省大丰市重点达标名校2026届中考四模历史试题含解析
- 智能楼宇试题及答案
- 天津市东丽2026届中考英语全真模拟试卷含答案
- 湖北省荆州市监利县重点中学2026届中考历史押题卷含解析
- 小学英语Unit 1 Go straight on.教学设计
- 江苏泰州地区达标名校2026届中考英语适应性模拟试题含答案
- 员工培训考核办法
- 6 利用三角函数测高教学设计初中数学北师大版2012九年级下册-北师大版2012
- 华北理工大学轻工学院招聘考试真题2025
- 韩非子导读课件
- 学生课堂表现观察记录表模板
- 实施指南(2025)《DL-T5187.3-2012 火力发电厂运煤设计技术规程第 3 部分》
- DB65-T 4877-2024 学校食堂“互联网+明厨亮灶”建设规范
- 2024年下半年成都铁路文化传媒有限责任公司校招笔试题带答案
- 【MOOC答案】《电子线路设计、测试与实验(二)》(华中科技大学)章节作业慕课答案
- 特殊困难老年人家庭适老化改造工作台账
- 标准化厂房总体设计方案
- 关键设备检修管理制度
- 北师大版五年级数学下册 第八单元 1复式条形统计图 同步练习(含答案)
- DB37T 5069-2016 太阳能热水系统安装及验收技术规程
评论
0/150
提交评论