数据结构课程设计一元多项式的计算题库.docVIP

  • 10
  • 0
  • 约6.48千字
  • 约 14页
  • 2016-08-30 发布于湖北
  • 举报

数据结构课程设计一元多项式的计算题库.doc

数据结构 课程设计报告 题目:一元多项式计算院(系):专 业: 班 级: 学 号:姓 名: 指导教师: 2013年月 一、 课程设计介绍 1 1.1 课程设计目的 1 1.2 课程设计内容 1 1.2 课程设计要求 1 二、 需求设计 3 2.1 课设题目粗略分析 3 2.2 原理图介绍 4 2.2.1 功能模块图 4 2.2.2 流程图分析 4 三、需求分析 6 3.1 存储结构 6 3.2 算法描述 6 四、调试与分析 10 (1)调试过程 10 (2) 程序执行过程 10 参考文献 12 总结 13 附 录(关键部分程序清单) 14 课程设计介绍 课程设计目的 ⑴熟悉使用c语言编码程序,解决实际问题; ⑵了解数据结构与算法的设计方法,具备初步的独立分析和设计能力。 ⑶初步掌握软件开发过程的分析能力,系统设计,程序编码,测试等基本能力。 ⑷提高综合运用的能力,运用所学理论知识与独立分析能力。 1.2课程设计内容 一元多项式计算 任务:⑴能够按照指数降序排列建立并输出多项式 ⑵能够完成两个多项式的相加,并将结果输入 ⑶在上交资料中请写明:存储结构、多项式相加的基本过程的算法(可以使用程序流程图) 、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法 ⑴学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。 ⑵学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时的向教师汇报。 ⑶课程设计按照教学要求需要周时间完成,周中每天(按每周5天)至少要上3-4小时的机来调试C语言设计的程序,总共至少要上机调试程序30小时⑷课程设计在期末考试之前交。最好一起上交。 ⑸同班同学之间最好不要相同。源代码可以打印,但是下面模块要求的内容必须手写。 需求设计 2.1 课设题目粗略分析 建立一元多项式并按照指数降序排列输出多项式,将一元多项式输入并存储在内存中,能够完成两个多项式的加减运算并输出结果 2.2 流程图分析 1、输入输出 (1)功能:将要进行运算的多项式输入输出。 (2)数据流入:要输入的多项式的系数与指数。 (3)数据流出:合并同类项后的多项式。 (4)程序流程图:多项式输入流程图如图1所示。 (5)测试要点:输入的多项式是否正确,若输入错误则重新输入 图表1 2、多项式的加法 (1)功能:将两多项式相加。 (2)数据流入:输入函数。 (3)数据流出:多项式相加后的结果。 (4)程序流程图:多项式的加法流程图如图2所示。 (5)测试要点:两多项式是否为空,为空则提示重新输入,否则,进行运算。 图表 2 三、需求分析 3.1 存储结构 一元多项式的表示在计算机内可以用链表来表示,为了节省存储空间,只存储多项式中系数非零的项。链表中的每一个结点存放多项式的一个系数非零项,它包含三个域,分别存放该项的系数、指数以及指向下一个多项式项结点的指针。创建一元多项式链表,对一元多项式的运算中会出现的各种可能情况进行分析,实现一元多项式的相加、相减操作。 3.2 算法描述 #includestdio.h #includemalloc.h typedef struct Polynomial{ float coef; int expn; struct Polynomial *next; }*Polyn,Polynomial; //Polyn为结点指针类型 void Insert(Polyn p,Polyn h){ if(p-coef==0) free(p); //系数为0的话释放结点 else{ Polyn q1,q2; q1=h;q2=h-next; while(q2p-expnq2-expn){ //查找插入位置 q1=q2; q2=q2-next; } if(q2p-expn==q2-expn){ //将指数相同相合并 q2-coef+=p-coef; free(p); if(!q2-coef){ //系数为0的话释放结点 q1-next=q2-next; free(q2); } } else{ //指数为新时将结点插入 p-next=q2; q1-next=p

文档评论(0)

1亿VIP精品文档

相关文档