C语言课程设计任务书.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课程设计任务书

信息科学与工程学院 综合设计报告书 课程名称: C语言课程设计 班 级: 学 号: 姓 名: 指导教师: 目 录 (一) 需求分析概要设计详细设计调试分析测试数据测试输出结果调试存在问题结包括课程设计过程的收获课程的认识等内容 将一元多项式中各子项按照指数从小到大的顺序排序。 分别输出一元多项式pn (x)和Q n (x)。 将用单链表表示的一元多项式输出,即打印多项式的系数和指数。 任意输入一个实数x0,分别求出一元多项式pn (x0)和Q n (x0)的值。 已知有两个一元多项式分别为Pn (x)和Qn (x),求出两个多项式的和 R n (x)和差T n (x),分别用单链表表示R n (x)和T n (x),并将二者输出, (R n (x)=P n (x)+Q n (x),T n (x)=P n (x)-Q n (x)) 用户操作流程: 进入欢迎及界面。 根据提示选择需要的功能。 根据提示输入数据. 选择函数输出运行结果。 退出本系统。 数据处理流程 输入数据,通过链表存储P(x)和Q(x)的指数和系数。 通过冒泡排序法对P(x)和Q(x)进行升幂排序。 输入x0,通过指针将其带入P(x)和Q(x)的表达式求出具体的数值。 通过链表对两个多项式求和求差。 通过链表输出运行结果。 ; 概要设计 系统总体设计框架: 系统功能模块 功能选择函数:通过输入对应功能的数字,进行多项式的运算。该函数在主函数中调用。 输入数据函数:通过建立单链表,输入两个多项式的各项指数和系数。 升幂函数:通过冒泡排序法对两个多项式进行升幂排序。 求和求差函数:定义空链用来存储结果,将两个多项式相加减。 输出函数:输出上一步的运行结果。 详细设计 一元多项式的表示在计算机内可以用链表来表示,为了节省存储空间,只存储多项式中系数非零的项。链表中的每一个结点存放多项式的一个系数非零项,它包含三个域,分别存放该项的系数、指数以及指向下一个多项式项结点的指针。创建一元多项式链表,对一元多项式的运算中会出现的各种可能情况进行分析,实现一元多项式的相加、相减操作。 多项式相加的运算规则是:两个多项式中所有指数相同的项的对应系数相加,若和部位零,则构成“和多项式”中的一项;所有指数不相同的的项均“复抄”到“和多项式”中。以单链表作为存储结构,并且“和多项式”中的节点无需另外生成,则可看做是将多项式Q加到多项式P中,由此得到下列运算规则: 若p-expq-exp,则结点p所指的结点应是“和多项式”中的一项,令指针p后移。 若p-expq-exp,则结点q所指的结点应是“和多项式”中的一项,将结点q插入在结点p之前,且令指针q在原来的链表上后移。 若p-exp=q-exp,则将两个结点的系数相加,当和不为零是修改结点p的系数,释放q结点;若和为零,则“和多项式”中无 o此项,从P中p结点,同时释放p和q结点。 多项式相减运算规则同加法。 设计思路: 实现的方法是先定义多项式结点的结构,该多项式每个结点由三个元素:输入的系数、输入的指数、以及指向下一个结点的指针构成。该链表采用链式存储结构。然后通过多次的输入,依次得到两个一元多项式的各个项的系数与指数。该输入以零结尾。然后通过对结点的判断是否为零后,进行运算或者终止的操作。再初始化一个链表LC,将LC的各项系数和指数的指针指向LA+LB所得的结果的值,完成了最后的输出。 (1)定义结构体structstruct开始,成员可以由各种数据类型混合构成,成员甚至还可以是数组或者其他类型的结构,但是,结构体中不能包含自身定义类型的成员。使用typedef和struct定义的新类型名称,其用途与内建类型的名称相同,可以用来:声明和初始化结构体变量;创建并根据自己的意愿初始化结构数组; (2) 单链表的建立 单链表有两个域,data域和next域,一个是存放数据,一个是存放指针而且指向它的后继。并且还有个head,称表结点,它一般不存放数据,只是做个特殊标记。表的结束是NULL,也就是最后的那个链域next为空单链表的插入运算有两种,一种是头插法,另一种是尾插法))P(x)=2x4+5x2+3x+1,Q(x)=3x2+1,相加后R(x)= 2x4+8x2+3x+2,用一维向量表表示分别为(1,3,5,0,2)+(1,0,3,) 求和函数模块: 求差函数模块:

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档