第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/8/1 3:01:33 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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

}

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文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2a0oy18z7k7f1wl0k4bu3bj0w6iip0013o6_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top