四川大学《数据结构与算法分析》课程设计报告-带括号的算术表达式

loading 分享 2026-8-21 下载文档

[键入文字] [键入文字] [键入文字]

}

char ch; cin>>ch;

if(ch=='Y'||ch=='y') { } else { } }

system(\);

x=2; x=1;

六、运行结果:

这个是一开始运行的情况。

-19-

[键入文字] [键入文字] [键入文字]

输入完表达式后会判断表达式是否正确,如果正确会输出“表达式正确”,错误会输出“表达式错误”。

正确的情况下会输出结果,选择是否继续计算

输入y或者Y都会进行下一次运算

-20-

[键入文字] [键入文字] [键入文字]

结果仍然正确。

接下来测试如果输入错误的表达式会怎么样。

输入的表达式有错误,判断出错误后选择是否继续

任意输入不是y或者Y的字符,退出程序。

七、实验运行情况分析 1.算法:

定义字符串exp用来存储后缀表达式,每个数字之间间隔一个空格用以区分数字。

-21-

[键入文字] [键入文字] [键入文字]

调用堆栈ope来存放依次输入的操作符,如果输入的操作符运算优先级高于栈顶运算符,那么进栈。反之出栈直至当前运算符运算优先级高于栈顶运算符,将当前运算符进栈。如果遇到左括号“(”,直接进栈。如果遇到右括号“)”,一直出栈直到遇到左括号。将出栈的运算符依次加到exp中。

调用堆栈number,用来存放后缀表达式中出现的数字。每当遇到一个操作符的时候,便取出堆栈中的两个数字放在运算符右边和左边进行计算,将计算结果继续进栈存入number中。

利用堆栈先进后出的特点实现表达式的转换和求值。 2.运行结果:

(1).程序能够正确算出表达式的值。

(2).程序能够判断输入的表达式是否符合标准。 (3).程序能够进行多次运算。 3.运行环境:

该程序对运行环境要求较低,在VC++6.0及以上版本的编译软件

上可以运行。

参考文献

[1]唐宁九.数据结构与算法(C++版)清

华大学出版社,2009年

[2]唐宁九.数据结构与算法(C++版)实

验和课程设计教程 清华大学出版社,2008年

-22-


四川大学《数据结构与算法分析》课程设计报告-带括号的算术表达式.doc 将本文的Word文档下载到电脑
搜索更多关于: 四川大学《数据结构与算法分析》课程设计报告-带括号的算术表达 的文档
相关推荐
相关阅读