欢迎来到天天文库
浏览记录
ID:38708037
大小:66.00 KB
页数:11页
时间:2019-06-18
《《计算机程序训练》设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《计算机程序训练》设计说明书指导老师:杨树恒姓名:罗邦仁学号:0705010120日期:2009年06月12日11目录一题目内容描述…………………………1二课程基本要求…………………………1三程序算法描述…………………………1四所用到的头文件说明………………2五应用程序功能说明……………………2六程序运行过程举例…………………3七参考文献…………………………4八源程序代码………………………5九总结与体会…………………911C语言程序设计报告一.题目内容描述题目:多项式计算要求:1主要功能:(1)输入并建立多项式;(2)输出多项式;(3)两个多项式相加,建立并输出和多项式;(
2、4)两个多项式相减,建立并输出差多项式。2.要求:一元多项式简单计算器的基本功能二.课程基本要求1.设计程序,上机调试2.写出实验报告三.程序算法描述基本上分三大部分来实现一元多项式的功能,基本上都用到了链表。首先是采用头插法的方法来实现一元多项式的建立,其次是实现一元多项式的显示,最后才是实现一元多项式的加减法运算,输出所需要的计算结果。(1).问题描述用C语言编写一段程序,该程序的功能相当于一个一元多项式计算器。它能够实现建立并输出多项式,并且能够完成两个多项式的相加、相减的运算和将其结果输入的功能。本程序的特点是主要运用指针数组、结构体和链表,其中在建立链表的时候用数
3、组指针,然后通过数组指针完成多项式的创建。(2).数据结构设计此程序的数据结构是选择用带表头结点的单链表存储多项式。虽然一元多项式可以用顺序和链式两种存储结构表示,但顺序结构的最大长度很难确定。比如当多项式的系数较大时,此时就会浪费了巨大的存储空间,所以应该选择用链式存储结构来存储一元多项式。单链表的结构体可以用来存储多项式的系数,指数,下一个指针3个元素,这样便于实现任意多项式的加法,减法运算。(3)一元多项式的建立11输入多项式采用头插法的方式,输入多项式中一个项的系数和指数,就产生一个新的节点,建立起它的右指针,并用头节点指向它;为了判断一个多项式是否输入结束,定义一
4、个结束标志,当输入非0时就继续,当输入0时,就结束一个多项式的输入。(4)显示一元多项式如果系数是大于0的话就输出+系数x^指数的形式;如果系数是小于0的话就输出系数x^指数的形式;如果指数为0的话,直接输出系数;如果系数是1的话就直接输出+x;如果系数是-1的话就直接输出-x。(5)一元多项式加法运算它从两个多项式的头部开始,两个多项式的某一项都不为空时,如果指数相等的话,系数就应该相加;相加的和不为0的话,用头插法建立一个新的节点。p的指数小于q的指数的话,就应该复制q节点到多项式中。p的指数大于q的指数的话,就应该复制p节点到多项式中。当第二个多项式空,第一个多项式不
5、为空时,将第一个多项式用新节点产生。当第一个多项式空,第二个多项式不为空时,将第二多项式用新节点产生。通过Apolyn实现多项式加法:Pa=Pa+Pb,利用两个多项式的结点构成和“和多项式”。(6)一元多项式减法运算它从两个多项式的头部开始,两个多项式的某一项都不为空时,如果指数相等的话,系数就应该相减;相加的和不为0的话,用头插法建立一个新的节点。p的指数小于q的指数的话,就应该复制q节点到多项式中。p的指数大于q的指数的话,就应该复制p节点到多项式中,并且建立的节点的系数为原来的相反数;当第二个多项式空,第一个多项式不为空时,将第一个多项式用新节点产生。当第一个多项式空
6、,第二个多项式不为空时,将第二个多项式用新节点产生,并且建立的节点的系数为原来的相反数。通过Bpolyn实现多项式减法:Pa=Pa-Pb,利用两个多项式的结点构成和“差多项式”。四.所用到的头文件说明:(1)#include/*标准输入输出函数*/(2)#include/*标准库函数,调用动态分布函数和随机函数*/(3)#include/*标准库函数,调用字符函数*/五.应用程序功能说明(1)typedefstructterm/*定义一个结构体类型的变量term11,多项式的项作为LinkList的数据元素*/(2)t
7、erm*CreatPolyn(term*P,intm)/*输入m项的系数和指数,建立表示一元多项式的有序链表P*/(3)if(m<=0)returnNULL/*如果m不大于零,则返回一个空指针NULL*/(4)(term*)malloc(sizeof(term))声明了一个动态分布函数,这个函数的返回值是指针类型,函数返回一个整形变量地址(5)term*selsort(term*h)对以h指针指向的一个一元多项式链表进行选择排序,按照指数由高到低的原则(6)PrintfPoly(term*P)输出多项式P(7)Co
此文档下载收益归作者所有