数据结构课程设计报告一元多项式计算 联系客服

发布时间 : 星期日 文章数据结构课程设计报告一元多项式计算更新完毕开始阅读529efe641ed9ad51f01df2ae

printf(\请输入多项式hb的系数与指数:\\n\hb=create();

gotoTextPos(2,17); print(hb);

gotoTextPos(2,18); printf(\

gotoTextPos(2,18);

printf(\多项式的和是:\\n\polyadd(ha,hb); gotoTextPos(2,19); print(ha);

gotoTextPos(2,19); printf(\

gotoTextPos(2,20);

printf(\请输入多项式hc的系数与指数:\\n\hc=create();

gotoTextPos(2,27); print(hc);

gotoTextPos(2,27); printf(\

gotoTextPos(2,28);

printf(\请输入多项式hd的系数与指数:\\n\hd=create();

gotoTextPos(2,35); print(hd);

gotoTextPos(2,35); printf(\

gotoTextPos(2,36);

printf(\多项式的差是:\\n\polycha(hc,hd); gotoTextPos(2,37); print(hc);

gotoTextPos(2,38); printf(\getch(); menu(); }

4.4 算法

void polyadd(node *ha, node *hb)//一元多项式相加函数,用于将两个多项式相加,然后将和多项式存放在多项式ha中,并将多项式hb删除

8

{

node *p,*q,*pre,*temp; int sum; p=ha->next; q=hb->next; pre=ha;

while(p!=NULL&&q!=NULL) {

if(p->expexp) {

pre->next=p; pre=pre->next; p=p->next; }

else if(p->exp==q->exp) {

sum=p->coef+q->coef; if(sum!=0) {

p->coef=sum;

pre->next=p;pre=pre->next;p=p->next; temp=q;q=q->next;free(temp); }

else //如果系数和为零,则删除结点p与q,并将指针指向下一个结点 {

temp=p->next;free(p);p=temp; temp=q->next;free(q);q=temp; } } else {

pre->next=q; pre=pre->next; q=q->next; } }

if(p!=NULL) //将多项式A中剩余的结点加入到和多项式中 pre->next=p; else

pre->next=q; }

4.5主函数

int main()

9

{

system(\

setConsoleTitle(\一元多项式计算 by余海刚\ system(\ menu();

kuanjia1();

gotoTextPos(10,7); printf(\拜\ delayMS(600);

gotoTextPos(19,7); printf(\拜\ delayMS(600);

gotoTextPos(20,9); printf(\ delayMS(600);

gotoTextPos(21,9); printf(\ delayMS(600);

gotoTextPos(24,9); printf(\余\ delayMS(600);

gotoTextPos(26,9); printf(\海\ delayMS(600);

gotoTextPos(28,9); printf(\刚\ delayMS(600);

return 0;

10

5、 测试结果

5.1输入界面图

图5.1

11