一元多项式的表示与相加运算.docx
《一元多项式的表示与相加运算.docx》由会员分享,可在线阅读,更多相关《一元多项式的表示与相加运算.docx(6页珍藏版)》请在三一办公上搜索。
1、一元多项式的表示与相加运算 西 安 邮 电 大 学 课内实验报告 实验名称: 一元多项式的表示与相加运算 专业名称: 通信工程 班 级: 通工1312 学生姓名: 周鹏飞 学号: 03131044 指导教师: 陈琳 实验日期: 一. 实验目的及实验环境 1、实现单链表的建立 2、实现一元多项式的表示 3、实现一元多项式的相加运算 4、VC+6.0运行环境 二. 实验内容 1、实现一元多项式的相加运算 三方案设计 为实现多项式的相加运算 1)用两个单链表分别表示两个一元多项式。 2)多项式向相加的运算规则 1指数相同项的对应系数相加,若和不为0,则构成“和多项式”中的一项。 2指数不相同的项仍按
2、升幂顺序复抄到“和多项式”中。 以单链表polya和polyb分别表示两个一元多项式A和B,A+B的求和运算,就等同于单链表的插入问题,因此“和多项式”中的结点无需另生成。 为实现处理,设p、q分别指向单链表polya和poly b的当前项,比较p、q结点的指数项,由此得到以下运算规则: 1若p-expexp,则结点p所指的结点应是“和多项式”中的一项,令指针p后移。 2若p-exp=q-exp,则将两个结点中的系数相加,当和不为0是修改结点p的系数域,释放q结点;若和尾0,则和多项式中无此项,从A中删去p结点,同时释放p和q结点。 3若p-expq-exp,则结点q所指的结点应是“和多项式”
3、中的一项,将结点q插入在结点p之前,且令指针q在原来的链表上后移。 四测试数据及运行结果 截图如下: 五总结 实验过程中遇到的问题及解决办法: 问题:写完程序后,出现错误。 解决方法:查看程序提示,双击左键,寻找错误点。找到错误,并进行修改。 不能熟练运用链栈及指针 解决办法:查阅书籍,提高自己对链表及指针的认识,掌握使用链表及指针的技巧 对设计及调试过程的心得体会: 编写的程序要按照正当的程序要求,不能遵循人的思维。 编写程序时注意对链栈及指针的使用,注意各个出错的点及逻辑性错误。 提高自己对链表与指针的认识。 六附录:源代码 实现代码如下: 建立多项式 Polynomial * Creat
4、e(void) Polynomial *head, *rear, *s; int c, e; head = (Polynomial *)malloc(LEN); /建立多项式头结点 rear = head; /rear始终指向单链表的尾,便于尾插法建表 printf(系数(当系数输入为0时,多项式结束):); scanf(%d,&c); printf(n); printf(指数:); scanf(%d,&e); printf(n); while(c!=0) s = (Polynomial *)malloc(LEN); s-cofe = c; s-expn = e; rear-next = s;
5、 rear = s; printf(系数:); scanf(%d,&c); printf(n); printf(指数:); scanf(%d,&e); printf(n); rear-next = NULL; return (head); 两多项式相加 Polynomial* AddPolyn(Polynomial* pa,Polynomial* pb) Polynomial *qa = pa-next; Polynomial *qb = pb-next; Polynomial *headc, *pc, *qc; pc=(Polynomial *)malloc(sizeof (Polynomi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一元 多项式 表示 相加 运算

链接地址:https://www.31ppt.com/p-3191195.html