- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计——一元多项式计算
成绩
南京工程学院
课程设计说明书(论文)
题 目 一元多项式计算
课 程 名 称 数据结构
院(系、部、中心) 通信工程
专 业 计算机通信
班 级 算通111
学 生 姓 名 余丹红
学 号 208110410
设 计 地 点 信息楼322
指 导 教 师 郝慧珍
设计起止时间:2012年12月 17日至2012 年12月18日
目 录
1.设计目标 1
2.总体设计 1
2.1数据结构描述与定义 1
2.2模块设计 2
3.测试结果与分析 11
4.课程设计总结 13
参考文献: 15
附录A: 源程序清单 15
设计目标
通过课程设计,达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,使学生能够根据数据对象的特性,掌握数据组织、算法设计、算法性能分析的方法,并培养良好的程序设计能力。
本程序是利用单链表来表示一元多项式然后实现各项指数和系数的输入,进行多项式建立,并以多项式的形式输出,实现多项式的相加,相减和多项式的相乘这三种运算。
2.总体设计
2.1数据结构描述与定义
一元多项式定义系数和指数结构如下:
coef expn next coef域--存放结点值域--存放结点next域--存放结点的直接后继的地址(位置)的指针域(链域)typedef struct Polynomial{
float coef; //系数
int expn; //指数
struct Polynomial *next; //下一个指针
}*Polyn,Polynomial; //Polyn结构体变量名
2.2模块设计
从实现多项式式运算过程的角度来分析,至少需要这样一些子功能模块。
① 多项式创建功能
② 多项式销毁功能
③ 多项式输出功能
④ 多项式的相加功能
⑤ 多项式的相减功能
⑥ 多项式的相乘功能
定义并调用的函数有:
void Insert(Polyn p,Polyn h);//将结点p插入链表h
Polyn CreatePolyn(Polyn head,int m);//创建链表(多项式)
void DestroyPolyn(Polyn p);//销毁
void PrintPolyn(Polyn P);//输出
Polyn AddPolyn(Polyn pa,Polyn pb);//a+b
Polyn SubtractPolyn(Polyn pa,Polyn pb);//a-b
Polyn MultiplyPolyn(Polyn pa,Polyn pb);//a*b
void main()//主函数
系统共分几个模块,每个模块的算法描述及流程图(核心模块)
1.系统模块图(模块划分)
图1 系统模块划分图
模块流程图及算法描述
分模块流程图
(1)多项式的创建 (2)多项式的销毁
(3)多项式的输出
(4)多项式的相加
(5)多项式的相减 (6)多项式的相乘
②算法描述
(1)多项式的创建
Polyn CreatePolyn(Polyn head,int m)
{//建立一个头指针为head、项数为m的一元多项式
//在主程序初始时,先输入的多项式中的项数m、n 在这里为m。主程序中的pa、pb在此为head
int i;//用来计数
Polyn p;//定义一个p链表
p=head=(Polyn)malloc(sizeof(struct Polynomial));//动态分配空间,建立头结点
head-next=NULL;
for(i=0;im;i++)
{
p=(Polyn)malloc(sizeof(struct Polynomial));//建立新结点以接收数据
printf(请输入第%d项的系数与指数:,i+1); //上面循环中i从0开始,所以此处为i+1
scanf(%f %d,p-coef,p-expn);
Insert(p,head); //调用Insert函数插入结点p
}
return head;
文档评论(0)