全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/* PolyAdd.C - 多项式相加,两个多项式采用的是链式存储结构注意:多项式按照指数递增或递减输入for example:endter la,lb:4,5creat HAenter coef,exp:6,54,4-3,28,0A(x)=6x5+4x4+-3x2+8creat HBenter coef,exp:-9,53,48,22,1-89,0B(x)=-9x5+3x4+8x2+2x1+-89A(x)+B(x)=-3x5+7x4+5x2+2x1+-81*/C完整程序#include stdio.h#include conio.h#include stdlib.h/多项式中的数据项的数据类型定义typedef struct polynode int coef;/系数 int exp;/指数 struct polynode *next;/下一个数据项的地址 PNode;/三个函数的声明PNode * Creat_Linkst(int n);/创建多项式的函数void PolyAdd(PNode *pa,PNode *pb);/多项式相加的函数void Print_Linkst(PNode *H);/打印多项式的函数main() PNode *HA,*HB;/HA表示多项式la的头指针, HB项式lb的头指针 int la,lb;/la表示多项式la有几个数据项;la表示多项式lb有几个数据项 printf(endter la,lb:); scanf(%d,%d,&la,&lb);/输入两个多项式所含有的数据项的个数 printf(ncreat HAn); HA=Creat_Linkst(la);/调用创建多项式的函数,创建多项式la printf(A(x)=); Print_Linkst(HA);/调用输出多项式的函数,输出多项式la printf(ncreat HBn); HB=Creat_Linkst(lb);/调用创建多项式的函数,创建多项式lb printf(B(x)=); Print_Linkst(HB);/调用输出多项式的函数,输出多项式lb PolyAdd(HA,HB);/调用两个多项式相加函数,完成多项式la与lb的相加 printf(nA(x)+B(x)=); Print_Linkst(HA);/输出两个多项式相加的结果 getch();PNode * Creat_Linkst(int n)/形式参数n表示的是多项式有几项。/创建多项式的函数 PNode *head,*p,*s;/head指向的是头结点,p始终指向尾结点,s是新建立一个结点地址 int i; head=(PNode *) malloc(sizeof(PNode);/创建头结点,并用head指向头结点 head-next=NULL; p=head; printf(enter coef,exp:n); for(i=1;icoef,&s-exp);/给结点输入系数和指数 s-next=NULL; p-next=s;p=s; return(head);/返回多项式的头结点void PolyAdd(PNode *pa,PNode *pb)/多项式的相加函数,把多项式lb中的数据项和la的数据项相加,结果存放在多项式la中 PNode *pre,*qa,*qb,*q;/ int sum; pre=pa;/pre始终指向正在操作的结点的前驱结点 qa=pa-next;/qa指向la的首原结点 qb=pb-next;/qb指向lb的首原结点 while(qa&qb)/当两个多项式中的数据项都还没有比较完的时候,条件成立 if(qa-exp=qb-exp)/当两个多项式的某一个数据相的指数相同时,进行加操作 sum=qa-coef+qb-coef;/指数相同的情况下系数相加 if(sum)/如果相加的和不为零,条件成立 qa-coef=sum;pre=qa;/把两个系数相加的结果存放到la多项式相应的数据项的系数域中 else/否则两个系数相加为零,删除该结点 pre-next=qa-next;free(qa); qa=pre-next; q=qb;qb=qb-next;free(q); else /否则两个多项式的的数据项的指数不相等 if(qa-expqb-exp)pre=qa;qa=qa-next; else pre-next=qb;pre=qb; qb=qb-next;pre-next=qa; if(qb) pre-next=qb; free(pb);void Print_Linkst(PNode *H) PNode *p; p=H-next; while(p-next) printf(%dx%d,p-coe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 百色芒果加工产业融合发展示范园(百色芒果梦工厂)项目环境影响报告表
- 河南四模考试试卷及答案数学
- 2025年河南小学体育真题及答案
- XX市XX县XX镇人大代表联络站2025年度履职工作情况报告
- 画表格教程考试题及答案
- 2025年汽车安全员考试题及答案
- 复旦影像本科试题及答案
- 中学防汛应急演练预案(3篇)
- 电商促销策略优化-洞察与解读
- 2025年教学技巧试题分析及答案
- 2025年贵州综合评标专家库评标专家考试综合能力测试题及答案二
- 2025年四川省公职招录考试(省情时政)历年参考题库含答案详解(5套)
- 2025企业级AI Agent(智能体)价值及应用报告
- 乡镇工会费管理办法
- 2025年采购工程师笔试题及答案
- 基层支部联建活动方案
- 高电压与绝缘技术论文
- 2024DBJ33T1095-预拌砂浆应用技术规程
- 5、二级供应商品质管理
- 2025年江西省交通投资集团有限责任公司社会招聘43人笔试备考题库及答案详解1套
- 2025年上海高三物理高考重点知识点归纳总结(复习必背)
评论
0/150
提交评论