逆波兰式分析实验报告

逆波兰式分析实验报告

ID:47537606

大小:53.00 KB

页数:5页

时间:2020-01-14

逆波兰式分析实验报告_第1页
逆波兰式分析实验报告_第2页
逆波兰式分析实验报告_第3页
逆波兰式分析实验报告_第4页
逆波兰式分析实验报告_第5页
资源描述:

《逆波兰式分析实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告姓名:孙岩学号:1408080211班级:惠普开发142学校:青岛科技大学Mail:632928843@qq.com电话:17864216475教师:宮生文实验报告:实验名称:逆波兰式分析实验目的和要求将非后缀式用来表示的算术表达式转换为用逆波兰式来表示的算术表达式,并计算用逆波兰式来表示的算术表达式的值。实验内容和步骤:一、实验内容对于这个实验,总共用了三个函数,即主函数、算术表达式转换为后缀表达式函数、根据后缀表达式求取表达式的计算值。主要完成的功能是接收一个包含加减乘除以及括号的算数表达式,进而将其转换为后缀表达式,从而通过此后缀表达式求出该算数表

2、达式的值。二、实验步骤1、基于实验的内容,构造程序所需的模块2、根据已建构的模块,写出各个模块的相应程序代码3、在主函数中调用模块来完成所要得到的效果在本程序中,首先定义了数组常量ex[max],用于存储后缀表达式,操作对象在前,运算符在后;其次,是trans()函数,它的作用是将算数表达式转换为后缀表达式;其次是compvalue()函数,它的作用是根据后缀表达式求取对应算数表达式的算数值;最后是主函数模块,主要是通过对以上几个模块的调用。实验代码如下:#include#include#include#de

3、finemax100charex[max];/*存储后缀表达式*/voidtrans(){/*将算术表达式转化为后缀表达式*/charstr[max];/*存储原算术表达式*/charstack[max];/*作为栈使用*/charch;intsum,i,j,t,top=0;printf("*****************************************");printf("*输入一个求值的表达式,以#结束。*");printf("******************************************");printf

4、("算数表达式:");i=0;/*获取用户输入的表达式*/do{i++;scanf("%c",&str[i]);}while(str[i]!='#'&&i!=max);sum=i;t=1;i=1;ch=str[i];i++;while(ch!='#'){switch(ch){case'(':/*判定为左括号*/top++;stack[top]=ch;break;case')':/*判定为右括号*/while(stack[top]!='('){ex[t]=stack[top];top--;t++;}top--;break;case'+':/*判定为加减号*/cas

5、e'-':while(top!=0&&stack[top]!='('){ex[t]=stack[top];top--;t++;}top++;stack[top]=ch;break;case'*':/*判定为乘除号*/case'/':while(stack[top]=='*'

6、

7、stack[top]=='/'){ex[t]=stack[top];top--;t++;}top++;stack[top]=ch;break;case'':break;default:while(ch>='0'&&ch<='9'){/*判定为数字*/ex[t]=ch;t++;ch=str[

8、i];i++;}i--;ex[t]='#';t++;}ch=str[i];i++;}while(top!=0){ex[t]=stack[top];t++;top--;}ex[t]='#';printf("t原来表达式:");for(j=1;j

9、op=0;/*t为ex下标,top为stack下标*/ch=ex[t];t++;while(ch!='#'){switch(ch){case'+':stack[top-1]=stack[top-1]+stack[top];top--;break;case'-':stack[top-1]=stack[top-1]-stack[top];top--;break;case'*':stack[top-1]=stack[top-1]*stack[top];top--;break;case'/':if(stack[top]!=0)stack[top-1]=stack[top

10、-1]/stack[to

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。