长整数的代数计算----数据结构课程设计

沈阳航空航天大学课程设计报告

free(qq); } } return OK; }

//========================乘法模块=========================== Status chengfa(NodeList opr1,NodeList opr2,NodeList &oprr) { NodeList ph1,ph2,pt1,pt2,p3,pt3,qq; int len,CF; long buffer; ph1=opr1; pt1=ph1->prior; ph2=opr2; pt2=ph2->prior; len=length(opr1)+length(opr2); Creat(oprr,len); qq=oprr->next; while(qq!=oprr) { qq->data=0; qq=qq->next; } buffer=CF=0; p3=oprr->prior; while(pt2!=ph2) { pt1=ph1->prior; pt3=p3; while(pt1!=ph1) { buffer=pt1->data*pt2->data+pt3->data+CF; CF=(int)buffer/10000; pt3->data=(int)buffer000; pt1=pt1->prior; pt3=pt3->prior; } pt3->data=CF; CF=0; pt2=pt2->prior; p3=p3->prior; }

return OK;

23

沈阳航空航天大学课程设计报告

}

//======================除法模块======================= //除法子函数

int chufa_zi(NodeList &opr1,NodeList opr2) { NodeList p1,p2,qh,qt,qq; int count,CF,buffer,flag; count=0; while(compare(opr1,opr2)!=-1)//opr2链长 { CF=buffer=0; p1=opr1->prior; p2=opr2->prior; while(p2!=opr2) { if(p1->data<(p2->data+CF)) { buffer=10000+p1->data-(p2->data+CF); CF=1; } else { buffer=p1->data-(p2->data+CF); CF=0; } p1->data=buffer; p1=p1->prior; p2=p2->prior; } if(p1!=opr1)//处理opr1链剩下的部份 { buffer=p1->data-CF; p1->data=buffer; }

//清头0 flag=0;

p1=opr1->next; while(p1->data==0 && p1->next!=opr1) { p1=p1->next; flag=1; } if(flag)

24

沈阳航空航天大学课程设计报告

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@)