已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江南大学物联网工程学院上机报告课程名称数据结构上机名称后缀表达式的计算上机日期2016.3.18班级姓名学号上机报告要求1上机名称2上机要求3上机环境4程序清单(写明运行结果)5上机体会1上机名称后缀表达式的计算2上机要求按常规形式输入算术表达式(例如:输入2*(6-4)+8/4),要求能够: 生成表达式的后缀表示,并输出; 基于表达式的后缀表示,对该表达式求值; 编写一个主程序对表达式求值函数进行测试。3上机环境Visual C+ 6.04程序清单(写明运行结果)#include #include#include #define ERROR 0 #define OK 1#define N 50 #define STACK_INT_SIZE 10 #define Queue_Size 20 typedef int ElemType; typedef struct char QdataQueue_Size;int front,rear; SeqQueue; typedef struct ElemType *base; ElemType *top; int stacksize; SqStack; SqStack OPTR,OPND; SeqQueue SeQ; char PreTab77= , , , , ,x, ,front=0; Q-rear=0; int EnterQueue(SeqQueue *Q,char c) if (Q-rear=Queue_Size) printf(n队列满,无法入队!n); return ERROR; Q-QdataQ-rear=c; Q-rear+; return OK; int OutQueue(SeqQueue *Q,char *e) if(Q-front=Q-rear) printf(n队列空,无法出队!n); return ERROR; *e=Q-QdataQ-front+; return OK; int InitStack(SqStack *S) S-base=(ElemType *)malloc(STACK_INT_SIZE *sizeof(ElemType); if(!S-base) return ERROR; S-top=S-base; S-stacksize=STACK_INT_SIZE; return OK; int Push(SqStack *S,ElemType e) if (S-top-S-base)STACK_INT_SIZE) return 0; *S-top=e; S-top+; return OK; int Pop(SqStack *S) int e; if (S-top=S-base) return 0; S-top-; e=*S-top; return *S-top; int IsOps(char c) int i=0; char *p; p=OpretorS; while(i=0;) if(si=48&si=f(stacktop) top+; stacktop=si;break; else pj=stacktop; top-;j+; if(si=() while(stacktop!=) pj=stacktop; top-;j+; top-; i-; while(top!=0) pj=stacktop; j+; top-; pj=0; printf(n前缀表达式为: ); for(;j=0;j-) printf(%c,pj); printf(n); int main() char *ScanChar; char c1,c; char TheOp; int b,a,digit; InitStack(&OPTR); Push(&OPTR,#); InitStack(&OPND); initQueue(&SeQ); ScanChar=Express; c=*ScanChar; while(c!=#|*OPTR.top!=#) if (c=0) c=#; if (IsOps(c)=7) digit=c-0; Push(&OPND,digit); EnterQueue(&SeQ,c); c=*+ScanChar; else c1=*(OPTR.top-1); switch(Precede(c1,c) case:TheOp=Pop (&OPTR ); EnterQueue(&SeQ,TheOp); b=Pop(&OPND);a=Pop(&OPND); Push(&OPND,Operate(a,TheOp,b);break; default:printf(n算术表达式错误!n); return ERROR; printf(算术表达式为:%s n后缀表达式为:,Express); while(SeQ.rear-SeQ.front!=0) OutQueue(&SeQ,&c); printf(%c,c); convert(Express); printf(其结果为:%dn,Pop(&OPND); return 0; 5上机体会这次的上机实验感觉有点难,从上机课上的时候只有几个人交就可以看出来一些。自己花了许多的精力然而一开始还是没完成全部的要求,只写完了一部分即中缀转后缀表达式的部分,中缀转前缀的表达式在这一周内才勉勉强强写完。另外,这次上机实验也让我意识到,有时我们也需要参考一下别人所写的程序,看看别人的思路,也许某种时刻,别人的程序会开阔你的思路,同时我们还需要和同学多交流交流,讨论一下自己关于某个问题的看法想法什么
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浑源县2025届四年级数学第二学期期末综合测试模拟试题含答案
- 2026年湖南省洪江市高三生物上册期末考试考试卷含答案
- 济南市市中区2025届数学三下期中复习检测模拟试题含答案
- 洛宁县2025年数学四年级第二学期期末联考试题含解析
- 电工合金熔炼及热变形工操作技能知识考核试卷含答案
- 柠檬酸发酵工标准化知识考核试卷含答案
- 焊管机组操作工岗前理论模拟考核试卷含答案
- 绒线编织拼布工安全生产知识水平考核试卷含答案
- 磨料制造工安全实践模拟考核试卷含答案
- 平板显示膜回收工岗前安全宣教考核试卷含答案
- 高中美术鉴赏课教学设计:以作品为本位的四步鉴赏法实践
- 2025年城管协管员笔试考试试题(含答案)
- 医疗健康管理与慢病防控
- 2026年认证基础、管理体系认证基础主观题考试(附答案)解析
- 2026年急诊超声应用培训课件
- 正压送风口阀体损坏更换安装调试方案
- 新学期(2026年秋)小学二年级体育教学工作计划
- 第二届重庆市市场监管系统执法办案电子数据取证技能大竞赛赛完整试题
- 高中实验室生物安全培训课件
- GB/T 32741-2025肥料、土壤调理剂和有益物质分类
- DL-T1848-2018220kV和110kV变压器中性点过电压保护技术规范
评论
0/150
提交评论