- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计报告
题目: 一元多项式相加
学号: 姓名:
指导老师:
时间: 2011年10月18日星期二
评语:
程序建立的过程及步骤:
1首先建立一个定义多项式的结构体duoxiangshi,其中包括一个指数(int型),一个系数(float型),还有一个指向下一项的指针,具体编译代码如下:
typedef struct duoxiangshi//定义一个多项式
{
float coef;//多项式系数
int exp;//多项式指数
struct duoxiangshi *next;
};
2在定义一个函数(1),用来指导用户输入程序运行时所需要的必须得数据,两个一元多项式的项数、系数、指数。具体的代码如下:
void creatDuoX(Polynomial Px,int n)//定义一个多项式函数
{
initDuoX(Px);
duoxiangshi *p,*q;
p=Px;
for(int i=1;i=n;i++)
{
q=new duoxiangshi;
cout第i项的系数:;
cinq-coef;//输入系数
cout第i项的指数:;
cinq-exp;//输入指数
q-next=NULL;
p-next=q;
p=q;
}
}
3定义一个计算合并后的多项式的项数的函数(2),此函数的主要作用是用来最后输出合并后的多项式的时候起到作用。具体代码如下:
int lengthDuoX(Polynomial Px)//计算多项式项数的函数,返回值是这个合并后的多项式的项数
{
duoxiangshi *p;
int count;//定义一个变量,用来计算多项式的长度
p=Px-next;
count=0;
while(p!=NULL)
{p=p-next;
count++;//自加 最后得出总项数 并返回
}
return count;
}
4定义一个输出合并后的多项式的函数(3),主要作用为主函数调用后可以输出一元多项式,具体代码如下:
void outputDuoX(Polynomial Px)//输出合并后的多项式
{ duoxiangshi *p;
p=Px-next;
int i;
for(i=0;ilengthDuoX(Px);i++)//调用上一个计算项数的函数,逐项的输出合并后的项
{coutp-coef*X^ p-exp +;
p=p-next;
}
cout0endl;
}
5, 最重要的核心部分,程序的逻辑中心,让两个多项式相加,其中要考虑的情况如下
一:两个多项式A、B 都为0
二:其中一个多项式A 为0,B不为0
三:其中一个多项式B为0,A不为0
四:A与B 都不为0
而在程序中我将二与三这两种情况,通过IF语句将其嵌到四的情况中,这样可以节省代码的复杂度。(也可以用if eals if eals if eals 这种方法将4中情况并列列出)具体代码 如下:
duoxiangshi * addDuoX(Polynomial Pa,Polynomial Pb)//关键部分,A与B相加
{ duoxiangshi *p,*q;
duoxiangshi *prep;
duoxiangshi *u;
p=Pa-next;
q=Pb-next;
prep=Pa;
while (pq)//A与B都不等于0
{if(p-expq-exp)//A的指数小于B的指数
{prep=p;
p=p-next;
}
else if(p-exp q-exp)//A的指数大的话
{u=q-next;
q-next=p;
prep-next=q;
prep=q;
q=u;
}
else//A与B的指数相等的话
{p-coef=p-coef+q-coef;
if(p-coef==0)//A与B的指数相等的话,且其中A的系数为0
{duoxiangshi *temp1;
duoxiangshi *temp2;
temp1=p;
temp2=q;
p
您可能关注的文档
最近下载
- 2022年江苏苏州高新区(虎丘区)招聘两新组织专职党务工作者考试真题.docx VIP
- 2025年中考语文总复习:《整本书阅读(名著阅读12部)》教材知识梳理.docx VIP
- 大数据时代下航空公司人力资源管理的现状及解决对策分析.docx VIP
- 部编人教版小学《道德与法治》六年级下册教材解读与教学建议 新教材培训.pptx
- 人教版语文五年级上册(按课文内容填空).pdf
- 2024年江苏省高职单招《职测》参考试题库(含答案).docx
- 人教版(新教材)七年级上册数学综合与实践《设计学校田径运动会比赛场地》教学课件.pptx
- 房地产安全知识培训课件.pptx
- 2024轨道交通市域铁路和城轨交通运输管理和指令控制系统.docx
- (人教版)小学数学六年级上册寒假作业“天天练”,附参考答案.doc
文档评论(0)