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

一元多项加减乘除课程设计报告.doc

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

课 程 设 计 课程设计名称: 数据结构课程设计 专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计时间: 2012.12.17-2012.12.28 计算机科学与技术 专业课程设计任务书 学生姓名 专业班级 学号 题 目 一元多项式的加法、减法与乘法的实现 课题性质 工程设计 课题来源 自拟课题 指导教师 王峰 同组姓名 无 主要内容 问题描述:设有一元多项式Am(x)和Bn(x), Am(x)=A0+A1x1+A2x2+A3x3+… +Amxm Bn(x)=B0+B1x1+B2x2+B3x3+… +Bnxn 设计要求:分别采用顺序和动态链表存储结构,编程实现求M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和M(x)= Am(x)×Bn(x)。 1) 首先判定多项式是否稀疏; 2) 结果M(x)中无重复阶项和无零系数项; 3) 要求输出结果的升幂和降幂两种排列情况。 任务要求 1、编写程序,实现求解算法; 2、书写课程设计报告。 参考文献 《C程序设计(第二版)》,谭浩强,北京,清华大学出版社,1999. 审查意见 指导教师签字: 教研室主任签字: 年 月 日 需求分析 要求实现 首先判定多项式是否稀疏; 输出 输出结果的升幂和降幂两种排列情况。 设有一元多项式Am(x)和Bn(x). Am(x)=A0+A1x1+A2x2+A3x3+… +Amxm Bn(x)=B0+B1x1+B2x2+B3x3+… +Bnxn 实现求M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和M(x)= Am(x)×Bn(x)。 概要设计 2.1结构图 2.2存储结构 int coef; int exp; }ElemType; typedef struct{ //顺序表的结构体 ElemType a[MAXSIZE]; int length; }Sqlist; typedef struct poly{ //链式表项的结构体 int coef; int exp; struct poly *next; } *Po,Poly; 详细设计 A1. Sqlist Creat_S() //用于创建顺序表多项式 输入多项式每项的系数和幂\n如3x^2 则输入“3 2”,输入“0 0”表明多项式输入完成。 while(coef!=0||exp!=00) //输入“0 0”结束输入 { Sq.a[length].coef=coef; Sq.a[length].exp=exp; length++; scanf(%d%d,coef,exp); if(expmax) // 用于记录多项式中最大的幂 max=exp; } 判断稀疏矩阵 else printf(此多项式为稀疏多项式\n); A2. Sqlist ajiab_S(Sqlist a,Sqlist b) //A+B的顺序表运算 if(a.a[j].exp==b.a[i].exp) { //幂相同系数想加 m.a[j].coef=a.a[j].coef+b.a[i].coef; ch=1; } if(ch==0) //幂不同则加到m多项式后面 { m.a[m.length].coef=b.a[i].coef; m.a[m.length].exp=b.a[i].exp; m.length++; } A3. Sqlist ajianb_S(Sqlist a,Sqlist b) //A减B(顺序表运算) 把B的系数取反,然后按a+运算 A4. Sqlist achengb_S(Sqlist a,Sqlist b) //A乘B(顺序表) 系数相乘,幂相加 coef=a.a[i].coef*b.a[j].coef; exp=a.a[i].exp+b.a[j].exp; A5. shuchu_S(Sqlist m) //输出M(顺序表运算) 调用函数M进行冒泡排序后输出 for(i=0;m.length-1i;i++) //冒泡排序 { for(j=0;m.length

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档