C语言课程设计一元多项式(共27页).doc
《C语言课程设计一元多项式(共27页).doc》由会员分享,可在线阅读,更多相关《C语言课程设计一元多项式(共27页).doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上课程设计说明书 NO.1一元多项式计算系统1、课程设计目的(1)较熟练地掌握语言的基本内容及程序设计的基本方法与编程技巧。(2)较熟练地掌握在系统上编辑、编译、连接和运行C程序的方法。(3)通过设计一个完整程序,掌握数据结构的算法编写、类C语言算法转换成C程序并上机调试的基本方法。2、课程设计方案论证2.1 设计思路2.1.1问题描述:设计一个稀疏多项式简单计算器。用户输入两个多项式的项数、系数与指数,计算加减等的结果。2.1.2功能设计:提示用户输入两个多项式A和B,输入形式为:1) 先输入多项式A的项数,2) 回车,3) 输入多项式A第一项的系数,每一项按照先输入
2、系数,4) 空格或回车;5) 输入多项式A第一项的指数,6) 继续输入多项式A的其他项,输入方式与上同;7) 再建立多项式B,数据输入方式与建立多项式A相同。 沈 阳 大 学课程设计说明书 NO.2每输入一个数字,则计算出相应的值并输出,然后继续输入功能选择项。一元多项式计算输入多项式A和B计算多项式A+B计算多项式A-B重置多项式A和B图1:功能模块图 沈 阳 大 学课程设计说明书 NO.3LINE SubLINE(LINE s,LINE g)/*求多项式A-B*/开始LINE p1,p2,heads;p1=g;p2=g-nextWhile(p2)p2-coef*=-1; p2=p2-nex
3、t;head=AddLINEp2=p1-nextfor(p2=p1-next;p2;p2=p2-next)p2-coef=-1p2=p2-nextrenturnNNYY图2:多项式差流程图 沈 阳 大 学课程设计说明书 NO.4void DestroyLINE(LINE p) /*销毁多项式*/图3:销毁多项式流程图开始LINE q1,q2;q1=p-nextq1=NULLrenturnq2=q1-nextq1-nextdelete q1;q1=q2;q2=q2-next结束NNYY 沈 阳 大 学课程设计说明书 NO.5两个多项式相乘时(假设第一个为m项,第二个为n项)只要第一个多项式的每一
4、项的系数乘以第二个多项式每一项的系数,指数加上第二个多项式的指数。可以得到m个新的多项式。然后把这m个多项式按照指数相同的进行相加。合并成一个多项式即可。假设有两个一元多项式:P1(X) = X2 + 2X + 3P2(X) = 3X3 + 10X + 6计算它们的和:P1(X) + P2(X) = (X2 + 2X + 3) + (3X3 + 10X + 6)= 3X3 + 1X2 + 12X1 + 9部分代码描述如下:for(;qa;qa=qa-next)for(qb=pb-next;qb;qb=qb-next) qc=new Polynomial;qc-coef=qa-coef*qb-c
5、oef;qc-exp=qa-exp+qb-exp;InsertNode(qc,headf); 沈 阳 大 学课程设计说明书 NO.62.2 源程序清单#include#include#includetypedef struct line float coef; int exp; line *next;*LINE; void PrintLINE(LINE P); void Insert(LINE p,LINE head); LINE CreateLINE(LINE head,int m) ; void DestroyLINE(LINE p); int comsre(LINE a,LINE b);
6、 LINE AddLINE(LINE s,LINE g); LINE SubLINE(LINE s,LINE g); #includevoid PrintLINE(LINE P) LINE q=P-next; int flag=1; if(!q) putchar(0); printf(n);return; while(q)if(q-coef0&flag!=1) 沈 阳 大 学课程设计说明书 NO.7putchar(+); if(q-coef!=1&q-coef!=-1) printf(%g,q-coef); if(q-exp=1) putchar(X);else if(q-exp) print
7、f(X%d,q-exp);elseif(q-coef=1)if(!q-exp) putchar(1); else if(q-exp=1) putchar(X); else printf(X%d,q-exp);if(q-coef=-1)if(!q-exp) printf(-1); else if(q-exp=1) printf(-X); else printf(-X%d,q-exp); 沈 阳 大 学课程设计说明书 NO.8q=q-next; flag+;printf(n);void InsertNode(LINE p,LINE head) if(p-coef=0) delete p; else
8、LINE q1,q2;q1=head;q2=head-next;while(q2!=NULL&p-expexp) q1=q2;q2=q2-next;if(q2!=NULL&p-exp=q2-exp) q2-coef+=p-coef; delete p; if(!q2-coef) 沈 阳 大 学课程设计说明书 NO.9q1-next=q2-next;delete q2;else p-next=q2;q1-next=p;LINE CreateLINE(LINE head,int m) LINE p;p=head=new line; head-next=NULL;for(int i=0;icoef,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 一元 多项式 27
限制150内