电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

C语言课程设计输入一个表达式,输出其结果

C语言课程设计输入一个表达式,输出其结果_第1页
1/17
C语言课程设计输入一个表达式,输出其结果_第2页
2/17
C语言课程设计输入一个表达式,输出其结果_第3页
3/17
课 程 设 计 报 告 课程名称 C 语言程序设计 课题名称 输入一个表达式,输出其结果 专 业 通信工程 班 级 通信 1 1 0 1 学 号 2 7 姓 名 皮锋 指导教师 罗雅博 彭祯 曹燚 2 0 1 2 年 6 月 2 9 日 湖南工程学院 课 程 设 计 任 务 书 课程名称 C 语言程序设计 课 题 输入一个表达式,输出其结果 专业班级 通信 1101 学生姓名 皮锋 学 号 27 指导老师 罗雅博 彭祯 曹燚 审 批 任务书下达日期 2012 年 6 月 15 日 任务完 成 日 期 2012 年 6 月 29 日 一、设计思想 两种算法首先都要建立两个栈,一个是存放操作数的数栈 OdStack,一个是存放运算符的符栈 OpStack。数栈采用 dou ble 型的用来存放浮点数,符栈采用 char 型的用来存放运算符,由于考虑到运算符有优先级的问题,所以事先做了一个 Ty pe 用来存储运算符的优先级。栈建立好了之后做栈的相关操作,初始化栈,入栈,出栈,看栈顶。其中入栈要判满,出栈和看栈顶要判空。 中缀转后缀再计算的算法。 此算法的基本思路是先将中缀表达式转换成后缀表达式,之后再利用后缀表达式的算法对表达式进行计算。 首先,用一个 char 数组将中缀表达式读入,对数组中的每一个元素进行处理,区分哪些是数,哪些是运算符。如果是数元素(或小数点元素),则依次存入用来存储后缀表达式的 char 数组,直到一个整合数存完之后用空格将其与后面的元素分开。如果是运算符元素,则根据当前运算符的优先级和栈里面的运算符的优先级进行处理。如果栈内元素的优先级小于当前元素的优先级或者栈内为空,则将当前运算符入栈;如果栈内元素的优先级大于等于当前元素的,则依次将出栈元素存入后缀表达式,并用空格将其与后面的元素分开,直到栈内元素的优先级小或者栈内为空。对于左括号来说,无条件进栈,并只在有右括号出现的时候才有可能出栈。对于右括号来说,无条件让栈内元素出栈,直到左括号出栈。依次将每个元素进行处理直到中缀表达式索引完毕。至此,已经实现了将中缀表达式转换成了后缀表达式,在数组的最后加上结束符以便下一步的调用。 第二步,读出后缀表达式并进行计算。如果索引到空格则将索引标志后推 1 位。之后要先对 char 型的数字元素进行整合,从后缀表达式中依次取出数字元素(连同小数点)存入一个新的 char 型数组,直到一整个数取完后通过 atof 函数将 char 型转换成浮...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

C语言课程设计输入一个表达式,输出其结果

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部