- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构实验报告表达式求值
(一) 需求分析1、输入的形式和输入值的范围2、输出的形式 当按照程序要求选择了1或0之后,再输入表达式;如果选择的是1,则程序将自动运算出表达式结果;如果之前选择的是0,则程序将现将中缀表达式转化为后缀表达式并计算出结果。
3、程序所能达到的功能4、测试数据: (二) 概要设计
为了实现上述操作,应以为存储结构。
1.?? 基本操作:int GetTop(SqStack *s)
初始条件:栈存在;
操作结果:若栈为空,则返回s的栈顶元素;否则返回ERROR。
(2). void Push(SqStack *s,int e)
初始条件:栈存在;
操作结果:插入e为新的栈顶元素。
(3). int Pop(SqStack *s)
初始条件:栈存在;
操作结果:若栈不空,则删除之,并返回其值;否则返回REEOR。
(4).void InitStack(SqStack *s)
初始条件:栈存在;
操作结果:置栈为空。
(5). int Empty(SqStack *s)
初始条件:栈存在;
操作结果:判定s是否为空栈。
(6). int Operate(int a,char theta, int b)
初始条件:操作数a和b存在,且theta是+、-、*、/四则运算;
操作结果:返回a与b间theta运算的结果。
(7). int In(char s,char* TestOp)
初始条件:s为待判断字符,TestOp为已知的算符集合;
操作结果:s为算符集合中的元素则返回1,否则返回0.
(8). int ReturnOpOrd(char op,char* TestOp)
初始条件:op为待确定运算符,TestOp为已知的算符集合;
操作结果:确定运算符类型。
(9). char precede(char a, char b)
初始条件:a、b存在;
操作结果:返回算符a和b的优先权高低。
(10). void PrintOpnd(SqStack *s)
初始条件:栈存在;
操作结果:输出运算数栈。
(11). void PrintOptr(SqStack *s)
初始条件:栈存在;
操作结果:输出运算符栈。
(12). void Store(char *s,char ch)
初始条件:字符数组 s存在,字符ch已知;
操作结果:将ch存入数组s。
(13). void Change(char *s1,char *s2)
初始条件;重罪表达式s1已知;
操作结果:将中缀表达式s1转为后缀表达式s2。
2. 本程序包含个模块:
(1)???????? 主程序模块;
(2)???????()???????? 模块调用图:
??????????????????
主程序模块
(三) 详细设计
1.?? 元素类型,结点类型: int data[SIZE];
int top;
int base;
}SqStack;
char OPSET[7]={+ , - , * , / ,( , ) , #};
//定义OPSET字符数组为算符集合
char Prior[7][7] = {
// 算符间的优先关系
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,,
,,,,,=, ,
,,,, ,,,
,,,,, ,=
};
2.?? 每个模块的分析:
(1)???????? 主程序模块:
int main(){
char s=0,c;
while(1){
c=getchar();
fflush(stdin);
if(c==1){//中缀表达式运算结果
printf(%d\n,EvaluateExpression_1());
}
else{//后缀表达式运算结果
printf(%d\n,EvaluateExpression_2());
}
do{
scanf(%c,s);
if(s==q||s==Q)
exit(0);
}
while(s!=\n);
system(cls);
}
return 0;
}
(2)int EvaluateExpression_1(){
SqStack OPND,OPTR;
char ch,theta,exp[100]={0};
int i=0,s=0,a=0,b=0,step=0;
InitStack(OPND);
InitStack(OPTR);
Push(OPTR,#);
gets(exp);
ch=exp[0];
while(ch!=#||GetTop(OPTR)!=#){
if(!In(ch,OPSET)){//不是运算符则
您可能关注的文档
- 数据结构》申报表.doc
- 数据结构_王翠茹_数据结构习题.doc
- 数据结构与OOP课程设计题目.doc
- 数据结构与算法.docx
- 数据结构与算法.doc
- 数据结构与算法11.ppt
- 数据结构与算法1.ppt
- 数据结构与算法.pptx
- 数据结构与算法4.pptx
- 数据结构与算法作业.pptx
- 2023年中考英语补全对话的特点及考点归纳.pdf
- 2023届上海市浦东新区高三下学期二模英语试题.pdf
- 语文版四年级下学期语文修改病句专项水平练习题.pdf
- 高三语文话题作文写作指导-“实力与凭借”知识点分析全国通用.pdf
- 2023-2024学年全国全部部编版初中语文同步练习(含考点).pdf
- 江苏省普通高中学业水平合格性考试英语仿真模拟试卷B(考试版).pdf
- 2023年度上海市必威体育官网网址知识考试教育测试(含答案).pdf
- 【名家品读】史铁生《老海棠树》阅读过程指导+练习(附答案).pdf
- 市初中基本功培训与展示活动笔试_历史模拟试卷(一).pdf
- 2024医疗保障基金使用监督管理条例考试试题.pdf
最近下载
- 山东省济宁市嘉祥县2022-2023学年九年级上学期10月月考化学试卷含答案.docx VIP
- 2024年中国华能集团限公司校园招聘【高频考点汇总500题】模拟卷及参考答案详解.docx
- 六年级上册数学人教版《圆》单元整体教学设计(课件).pptx
- 17J008 挡土墙(重力式、衡重式、悬臂式)(必威体育精装版).pdf
- 山东省济宁市嘉祥县第四中学2020-2021学年九年级上学期10月月考化学试题.docx VIP
- 柠檬酸固体废弃物――石膏渣的综合利用.pdf
- 氧气吸入的并发症及预防.pptx VIP
- 继发性甲状旁腺功能亢进的护理PPT【27页】.pptx VIP
- 人生的短暂讲章.pptx
- 时间都去哪了钢琴谱五线谱.pdf
文档评论(0)