- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学系12级课程设计
说明 评分方法: 程序60%(其中注释占30%) 文档40%(其中测试部分占20%,其余20%) 是否按要求完成各部分文档的撰写; 测试方法和测试数据的设计 总结 将所有源程序、可执行文件(以备编译器版本不同无法编译)和课程设计报告(若有必要可增加readme.txt)压缩后上传到学习中心--数据结构课程设计学习小组,文件名取个人姓名,如:张三.rar(截止日期2014年2月18日)课程设计报告打印一份,下学期第一周上交。 * 《数据结构》课程设计 布置4个题目,任选两个。 设计报告内容: 标题(题目) 问题描述 程序结构(程序中的函数调用关系图) 程序中函数的功能描述 5. 主要算法及数据结构描述(算法可用伪代码或流程图): 测试方法描述 ----如何输入测试数据,会出现的结果。 本实验总结(特色、扩展的功能、…..) 在两个题目的报告完成后,最后给出本次设计的总结(感想等) 附录;源代码,要求程序风格清晰易理解,有充分的注释。有意义的注释行不少于代码的30%。 一、一元多项式的计算 问题描述 将多个多项式输入并存储在内存中,然后对多项式进行加,减,数乘等运算。 要求: 1) 可设计菜单: Q----退出 L----显示多项式 C----多项式计算 I----输入多项式 2) 选I:输入一个或多个多项式。 如输入:f= 3,0 -7,4 6,5 0,-1 3-7x^4+6x^5 g= 4,1 6,4 -57 0,-1 4x^1+6x^4-5x^7 3) 选C:输入计算表达式,然后计算结果并显示 如输入:h=f+g 显示结果:h= 3+4x^1-1x^4+6x^5-5x^7 如输入:k=f-g 显示结果:k= 3-4x^1-13x^4+6x^5+5x^7 4) 选L:显示内存中现有的多项式。 如: 显示出: f= 3-7x^4+6x^5 g= 4x^1+6x^4-5x^7 h=3+4x^1-1x^4+6x^5-5x^7 5) 每个多项式必须用单链表来存储: typedef struct node { float coef; //系数 int exp; // 指数 struct node *next; // 指向下个结点的指针 } nodetype; 3. 功能扩展(自己定制): 可增加两个多项式的相乘;如 f*g 可增加1个多项式的求导数;如 f ’ …….. 二、求复杂表达式的值(课本343页综合实验题2) 问题描述 输入一个含有运算符和运算函数的表达式,计算其结果。 要求 1) 以字符串方式输入一个复杂的表达式; 表达式中包括:数值(整数、实数)、一般运算符(正号,负号,加、减、乘、除、求模、乘方、括号); 如输入: “123*(45.7/25-20^3+12.4*(123%4))” 2) 利用栈,根据各运算符的优先度进行数值计算,显示结果 3) 循环回1),继续下个表达式的输入。 功能扩展(自己定制): 1) 表达式中可含有运算函数: abs—绝对值,sqrt—开方 exp---指数函数,ln---对数,sin,cos,tan 如输入:“123.45*sin(abs(-23)*3.14)+exp(3)” 上述函数在C++中有对应的函数调用(fabs, sqrt, exp, log, sin, cos, tan)。 2) 增加自定义的运算,如阶乘:30!等 3) 自己进一步扩充…….. 如显示计算过程等 三、用二叉树实现家谱的相关运算(课本综合实验题2) 1. 问题描述:设计一个程序采用一颗二叉树表示一个家谱关系。 2. 要求: 1)文件
文档评论(0)