您所在位置: 网站首页 / 2012数据结构课程设计.docx / 文档详情
2012数据结构课程设计.docx 立即下载
2025-08-25
约4万字
约72页
0
38KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

2012数据结构课程设计.docx

2012数据结构课程设计.docx

预览

免费试读已结束,剩余 67 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

2012数据结构课程设计

第一篇:2012数据结构课程设计数据结构课程设计报告题目:一元多项式计算专业:信息管理与信息系统班级:2012级普本班学号:201201011367姓名:左帅帅指导老师:郝慎学时间:一、课程设计题目分析本课程设计要求利用C语言或C++编写,本程序实现了一元多项式的加法、减法、乘法、除法运算等功能。二、设计思路本程序采用C语言来完成课程设计。1、首先,利用顺序存储结构来构造两个存储多项式A(x)和B(x)的结构。2、然后把输入,加,减,乘,除运算分成五个主要的模块:实现多项式输入模块、实现加法的模块、实现减法的模块、实现乘法的模块、实现除法的模块。3、然后各个模块里面还要分成若干种情况来考虑并通过函数的嵌套调用来实现其功能,尽量减少程序运行时错误的出现。4、最后编写main()主函数以实现对多项式输入输出以及加、减、乘、除,调试程序并将不足的地方加以修改。三、设计算法分析1、相关函数说明:(1)定义数据结构类型为线性表的链式存储结构类型变量typedefstructPolynomial{}(2)其他功能函数插入函数voidInsert(Polynp,Polynh)比较函数intcompare(Polyna,Polynb)建立一元多项式函数PolynCreate(Polynhead,intm)求解并建立多项式a+b,PolynAdd(Polynpa,Polynpb)求解并建立多项式a-b,PolynSubtract(Polynpa,Polynpb)2求解并建立多项式a*b,PolynMultiply(Polynpa,Polynpb)求解并建立多项式a/b,voidDevice(Polynpa,Polynpb)输出函数输出多项式,voidPrint(PolynP)销毁多项式函数释放内存,voidDestroy(Polynp)主函数,voidmain()2、主程序的流程基函数调用说明(1)typedefstructPolynomial{floatcoef;intexpn;structPolynomial*next;}*Polyn,Polynomial;在这个结构体变量中coef表示每一项前的系数,expn表示每一项的指数,polyn为结点指针类型,属于抽象数据类型通常由用户自行定义,Polynomial表示的是结构体中的数据对象名。(2)当用户输入两个一元多项式的系数和指数后,建立链表,存储这两个多项式,主要说明如下:PolynCreatePolyn(Polynhead,intm)建立一个头指针为head、项数为m的一元多项式p=head=(Polyn)malloc(sizeof(structPolynomial));为输入的多项式申请足够的存储空间p=(Polyn)malloc(sizeof(structPolynomial));建立新结点以接收数据Insert(p,head);调用Insert函数插入结点这就建立一元多项式的关键步骤(3)由于多项式的系数和指数都是随即输入的,所以根据要求需要对多项式按指数进行降幂排序。在这个程序模块中,使用链表,根据对指数大小的比较,对各种情况进行处理,此处由于反复使用指针对各个结点进行定位,找到合适的位置再利用voidInsert(Polynp,Polynh)进行插入操作。(4)加、减、乘、除、的算法实现:在该程序中,最关键的一步是实现四则运算和输出,由于加减算法原则是一样,减法可通过系数为负的加法实现;对于乘除算法的大致流程都是:首先建立多项式a*b,a/b,然后使用链表存储所求出的乘积,商和余数。这就实现了多项式计算模块的主要功能。(5)另一个子函数是输出函数PrintPolyn();输出最终的结果,算法是将最后计算合并的链表逐个结点依次输出,便得到整链表,也就是最后的计算式计算结果。由于考虑各个结点的指数情况不同,分别进行了判断处理。四、程序新点通过多次写程序,发现在程序在控制台运行时总是黑色的,本次写程序就想着改变一下,于是经过查资料利用system(“ColorE0”);可以函数解决,这里“E0,”E是控制台背景颜色,0是控制台输出字体颜色。五、设计中遇到的问题及解决办法首先是,由于此次课程设计里使用指针使用比较多,自己在指针多的时候易脑子混乱出错,对于此问题我是采取比较笨的办法在稿纸上写明白后开始进行4代码编写。其次是,在写除法模块时比较复杂,自己通过查资料最后成功写出除法模块功能。最后是,前期分析不足开始急于写代码,中途出现各种问题,算是给自己以后设计时的一个经验吧。六、测试(程序截图)1.数据输入及主菜单2.加法和减法模块3.乘法和除法模块七、总结通过本次应用C语言设计一元多项式基本计算程序,使我更加巩固了C语言程序设计的知识,以前对指针这一点使用是比
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

2012数据结构课程设计

文档大小:38KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用