网站大量收购闲置独家精品文档,联系QQ:2885784924

一个一元稀疏多项式简单计算器课程设计报告.doc

一个一元稀疏多项式简单计算器课程设计报告.doc

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

课 程 设 计 报 告 学 院: 课程名称: 专业班级: 学生姓名: 学号: 目录 1 一元稀疏多项式计算器 3 1.2 实验内容 3 1.3 概要设计 3 1.4 调试分析 5 1.5 源程序代码 6 2 哈夫曼编/译码器 6 2.1 概述 9 2.2 实验内容 9 2.3 概要设计 10 2.4 调试分析 11 2.5 源程序代码 13 3 图的基本操作与实现 19 3.1 概述 19 3.2 实验内容 19 3.3 概要设计 19 3.4 调试分析 21 3.5 源程序代码 22 《数据结构》课程设计评分表 26 1 一元稀疏多项式计算器 1.1 概述 为了实现任意多项式的加法,减法,因此选择单链表的结构体,它有一个系数,指数,下一个指针3个元素 使用语言:C语言 编译环境:VC++ 6.0 1、问题描述 设计一个一元稀疏多项式简单计算器。 基本要求:一元稀疏多项式简单计算器的基本功能是: (1)输入并建立多项式; (2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,…,cn,en,其中n是多项式的项数,c1,e1,分别是第i项的系数和指数,序数按指数降序排序; (3)多项式a和b相加,建立多项式a+b; (4)多项式a和b相减,建立多项式a-b; (5)计算多项式在x处的值; (6)计算器的仿真界面(选做)。 2、需求分析(1)输入的形式和输入值的范围: 输入是从键盘输入的,输入的内容为多项式的系数和指数,数为任意的整数,指数为大于等于0的整数 (2)输出的形式 从屏幕输出,显示用户输入的多项式,并显示多项式加减以后的多项式的值。 (3)程序所能达到的功能 a:输入并建立多项式; b:输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,……,cn,en,其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序列按指数降序排列; c:多项式a和b相加,建立多项式a+b; d:多项式a和b相减,建立多项式a-b; e:多项式的输出形式为类数学表达式系数值为1的非零项的输出形式中略去系数1而-1x的输出形式为-x。1、存储结构 ypedef struct Polynomial { float coef; int expn; struct Polynomial *next; }*Polyn,Polynomial; 该结构体用以存放以链栈为基础。 2、函数 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,返回其头指针 float ValuePolyn(Polyn head,int x) 该函数用于输入x值,计算并返回多项式的值 int compare(Polyn a,Polyn b) 该函数用于比较a和b的指数 3、流程图#includestdio.h #includestdlib.h typedef struct Polynomial { float coef; int expn; struct Polynomial *next; }*Polyn,Polynomial; void Insert(Polyn p,Polyn h) { if(p-coef==0) free(p); 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){q1-next=q2-next;free(q2);}}else{p-next=q2;q1-next=p; } } } Polyn CreatePolyn(Polyn head,int m) {

文档评论(0)

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

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

1亿VIP精品文档

相关文档