#低优先运算符高优先运算符错误错误错误错误错误t#入栈错误结束入栈入栈低优先运算符入栈出栈+运算出栈+计算出栈+计算入栈高优先运算符入栈出栈+运算出栈+计算出栈+计算出"/> #低优先运算符高优先运算符错误错误错误错误错误t#入栈错误结束入栈入栈低优先运算符入栈出栈+运算出栈+计算出栈+计算入栈高优先运算符入栈出栈+运算出栈+计算出栈+计算出"/>
首页 数据结构表达式求值实验报告

数据结构表达式求值实验报告

举报
开通vip

数据结构表达式求值实验报告.PAGE/NUMPAGES实验报告课程名:数据结构〔C语言版实验名:表达式求值姓名:班级:学号:一实验目的与要求1.了解栈的应用2.利用栈进行算术表达式求值二实验内容1.以字符串的形式给出一个算术表达式,计算出该算术表达式的值。2.表达式中可能出现"+","−","∗","/",""。三实验结果与分析分析:r:读入字符t:栈顶字符r<>#低优先运算符高优先运算符错误错误错误错误错误t#入栈错误结束入栈入栈低优先运算符入栈出栈+运算出栈+计算出栈+计算入栈高优先运算符入栈出栈+运算出栈+计算出栈+计算出...

数据结构表达式求值实验报告
.PAGE/NUMPAGES实验 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 课程名:数据结构〔C语言版实验名: 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 达式求值姓名:班级:学号:一实验目的与 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 1.了解栈的应用2.利用栈进行算术表达式求值二实验内容1.以字符串的形式给出一个算术表达式,计算出该算术表达式的值。2.表达式中可能出现"+","−","∗","/","<",">"。三实验结果与分析分析:r:读入字符t:栈顶字符r<>#低优先运算符高优先运算符<入栈出栈错误入栈入栈>错误错误错误错误错误t#入栈错误结束入栈入栈低优先运算符入栈出栈+运算出栈+计算出栈+计算入栈高优先运算符入栈出栈+运算出栈+计算出栈+计算出栈+计算1,入栈2,错误3,出栈4,出栈+计算5,结束<>#低优先运算符高优先运算符<13211>22222#12511低优先运算符14441高优先运算符14444此实验可用两个栈和数组来实现,一个操作栈,一个数字栈,两个栈的字符进行优先权比较可得到5种结果。首先置操作栈为空栈,表达式起始符"#"作为数字栈的栈底元素,依次读入表达式的每个字符,若是操作字符进操作栈,若是数字进数字栈,操作栈和数字栈的栈顶元素比较优先权后进行相应操作,直至结束,最后输出值即可。实验程序:#include#include#includeintchange//字符转换{intj=-1;switch{case'<':j=0;break;case'>':j=1;break;case'#':j=2;break;case'+':j=3;break;case'-':j=3;break;case'*':j=4;break;case'/':j=4;break;}return;}intcompu//数字计算转换{intj=-1;switch{case'+':j=x+y;break;case'-':j=x-y;break;case'*':j=x*y;break;case'/':j=x/y;break;}return;}voidget{inta_length=strlen+1;//表达式的长度intp=0,num_p=0,op_p=0;int*num_s=malloc<*sizeof>;//char*op_s=malloc<*sizeof>;//op_s[op_p]='#';op_p++;//进字符栈intk=-1;//输出结果判断intox,oy;while<1>{charc=a[p];//将表达式中的字符一个一个赋值给cif='0'&&c<='9'>//判断是不是数字{num_s[num_p]=c-48;//将Ascll码转换成对应数字num_p++;//进数字栈p++;//代表表达式的位置开始为0指向第一位}else{intt=method[change][change];//将5种操作的一种传给tswitch{case1:op_s[op_p]=c;op_p++;p++;break;case2:k=0;break;case3:op_p--;p++;break;case4:ox=num_s[num_p-2];oy=num_s[num_p-1];num_p=num_p-2;num_s[num_p]=compu;//将计算的值存入num_s[]num_p++;//入数字栈op_p--;break;case5:k=1;break;}}if=0>//跳出循环{break;}}switch//0错误,1输出结果{case0:printf<"表达式错误!">;break;case1:printf<"%s=%d\n",a,num_s[num_p-1]>;break;}}intmain{chara[20];puts<"请输入个位数的表达式:">;gets;intnum_op=5;//表示操作的种数intmethod[5][5]={{1,3,2,1,1},{2,2,2,2,2},{1,2,5,1,1},{1,4,4,4,1},{1,4,4,4,4}};//1表示入栈,2表示错误,//3表示出栈,4表示出栈+计算,//5表示结束get;return0;}图1.表达式求值运行结果
本文档为【数据结构表达式求值实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
最新资料
资料动态
专题动态
个人认证用户
zlanb
暂无简介~
格式:doc
大小:18KB
软件:Word
页数:7
分类:成人教育
上传时间:2022-03-20
浏览量:0