下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验二栈的应用---算术表达式的计算实验二栈的应用---算术表达式的计算实验二栈的应用---算术表达式的计算实验二栈的应用---算术表达式的计算编制仅供参考审核批准生效日期地址:电话:传真:邮编:浙江大学城市学院实验报告课程名称数据结构与算法实验项目名称实验二栈的应用---算术表达式的计算实验成绩指导老师(签名)日期实验目的和要求1.进一步掌握栈的基本操作的实现。2.掌握栈在算术表达式的计算方面的应用。二.实验内容1.编写程序利用栈将中缀表达式转换成后缀表达式,即从键盘输入任一个中缀表达式(字符串形式),转换成后缀表达式后,将后缀表达式输出。假设:中缀表达式包含圆括号()及双目运算符+、-、*、/、^(乘方)。要求:把栈的基本操作的实现函数存放在头文件中(栈元素的类型为char),在主文件中包含将中缀表达式S1转换成后缀表达式S2的转换函数voidChange(char*S1,char*S2)及主函数,在主函数中进行输入输出及转换函数的调用。2.选做:编写利用栈对后缀表达式进行求值的函数doubleCompute(char*str),以计算从前述程序得到的后缀表达式的值。要求:把栈的基本操作的实现函数存放在头文件中(栈元素的类型为double),在主文件中添加后缀表达式求值函数,并在主函数中增加调用求值函数及输出结果值的语句。3.填写实验报告,实验报告文件取名为。4.上传实验报告文件与源程序文件、(若有)及到Ftp服务器上你自己的文件夹下。函数的功能说明及算法思路(算法思路见源程序的注释部分)实验结果与分析五.心得体会【附录----源程序】#include<>#include<>#include<>#include""#include""voidmain(){ charx[30],y[30]; doubler; while(1){ cout<<"请输入一个中缀算术表达式:"; (x,sizeof(x)); Change(x,y); cout<<"对应的后缀算术表达式为:"; cout<<y<<endl; r=Compute(y); cout<<"后缀算术表达式值为:"<<r<<endl<<endl; }}typedefcharElemType1;structStack1{ ElemType1*stack; inttop; intMaxSize;};voidInitStack(Stack1&S){ =10; =newElemType1[]; if(!{ cerr<<"动态储存分配失败"<<endl; exit(1); } =-1;}voidPush(Stack1&S,ElemType1item){ if=={ intk=sizeof(ElemType1); =(ElemType1*)realloc,2**k); =2*; } ++; []=item;}ElemType1Pop(Stack1&S){ if==-1){ cerr<<"Stackisempty!"<<endl; exit(1); } ; return[+1];}ElemType1Peek(Stack1&S){ if==-1){ cerr<<"Stackisempty!"<<endl; exit(1); } return[];}boolEmptyStack(Stack1&S){ return==-1;}voidClearStack(Stack1&S){ if{ delete[]; =0; } =-1; =0;}{ cout<<"中缀表达式表示错误!"<<endl; exit(1); } while((ch>='0'&&ch<='9')||ch=='.'){ S2[j++]=ch; ch=S1[++i]; } S2[j++]=''; } } { i++; y=0; doublej=; while(str[i]>=48&&str[i]<=57){ y=y+(str[i]-48)/j; i++; j*=10; } x+=y; } } Push(S,x); } if(EmptyStack(S)){ cerr<<"expressionerror!"<<endl; exit(1);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全球企业知识产权创新调研报告
- 基层护理安全管理
- 《复杂结构的计算》课件
- 冠心病药物治疗原则
- 《光辐射探测器》课件2
- 《安全生产法解读》课件
- 3年级数学下册课件
- 大班美术活动:奔跑的小马
- 公交职业道德培训
- 2025高考数学专项复习第三章 函数与基本初等函数第4节 幂函数与二次函数含答案
- 2023年英语专业四级单选题汇总
- GB/T 451.3-2002纸和纸板厚度的测定
- GB/T 31548-2015电动自行车轮胎系列
- GB/T 21661-2020塑料购物袋
- GB/T 14480.1-2015无损检测仪器涡流检测设备第1部分:仪器性能和检验
- 《 小二黑结婚 》课件-统编版高中语文选择性必修中册
- FZ/T 21001-2019自梳外毛毛条
- CB/T 3780-1997管子吊架
- 四川省阿坝藏族羌族自治州《综合知识》事业单位国考真题
- 2023年人民法院电子音像出版社招聘笔试题库及答案解析
- 采购合同采购合同采购合同
评论
0/150
提交评论