大整数计算实验报告(2)

2019-03-03 19:47

图3-3-3 输入

计算机人论坛www.jsjer.com

4. 总结与展望

《数据结构》果然不是闹着玩的,要想学好,必须得下苦功夫!!!

5. 参考文献

[1]. 严蔚敏.数据结构[M].北京:清华大学出版社,2013。

计算机人论坛www.jsjer.com

6. 源代码清单

#include #include #include\

Status input(LinkList &p) {

LinkList head,s; int v; int tamp;

tamp=0;

head=(LinkList)malloc(sizeof(LNode));

p=head;

while(tamp==0) /*创建n个元素的双向链表*/

{

scanf(\ /*束三个三个输入*/ if (v>=0) { s=(LinkList)malloc(sizeof(LNode)); s->data=v; /*赋值*/ p->next=s; /*连接*/ s->prior=p; p=s; } else tamp=1; /*为负数时结束*/ }

head=head->next; /*去掉头节点*/ head->prior=NULL; /*让双向链表前后都为空*/

p->next=NULL; return OK; }

Status output(LinkList &p,LinkList &head) /*输出*/ {

LinkList s; s=head;

while(s!=NULL) { if(s->data>=100) printf(\ if(s->data>=10 && s->data<100) printf(\ if(s->data>0 && s->data<10) printf(\ s=s->next; }

return OK; }

Status max_add(LinkList &head1,LinkList &head2,LinkList &p1,LinkList

&p2) /*链 表 加 法*/

{

LinkList p,q; int n=0,m=0; p=head1; q=head2;

while(p!=NULL) /*遍历链表 然后记录链表长度*/ { n=n+1; p=p->next; }

while(q!=NULL) /*遍历链表 然后记录链表长度*/

{ m=m+1; q=q->next; }

p=p->prior; q=q->prior;

if(n>=m) /*当head1 大于 head2时*/

{ while(q!=NULL) { p->data=p->data+q->data; /*两个链表相加 直到其中一个走完 或者 全都走完结束*/

if(p->data>=1000) { p->prior->data=p->prior->data+1; p->data=p->data00; } p=p->prior; q=q->prior; } while(p!=NULL) /*当出现进位 但是前面却为空时需要申请一个空间然后放进去进的位数*/

{ if(p->data>=1000) { if(p->prior==NULL) { q=(LinkList)malloc(sizeof(LNode)); q->data=1; p->prior=q;

q->next=p; q->prior=NULL; p=NULL; } else { p->prior->data=p->prior->data+1; p->data=p->data00; p=p->prior; } } } output(head1,p1); }

if(ndata=q->data+p->data; if(q->data>=1000) { q->prior->data=q->prior->data+1; q->data=q->data00; } p=p->prior; q=q->prior; } while(q!=NULL) { if(q->data>=1000) { if(q->prior==NULL) { p=(LinkList)malloc(sizeof(LNode)); p->data=1; q->prior=q; p->next=p; p->prior=NULL; q=NULL; } else {

q->prior->data=q->prior->data+1;

计算机人论坛www.jsjer.com

q->data=q->data00; q=q->prior; } } } output(head2,p2); }

return OK; }

Status max_sub(LinkList &head1,LinkList &head2,LinkList &p1,LinkList &p2) /*链 表 减 法*/

{

LinkList p,q; int n=0,m=0; p=head1; q=head2;

while(p!=NULL) /*遍历链表 然后记录链表长度*/ { n=n+1; p=p->next; }

while(q!=NULL) /*遍历链表 然后记录链表长度*/

{ m=m+1; q=q->next; }

p=p->prior; q=q->prior;

if(n>=m) /*当head1 大于 head2时*/

{ while(q!=NULL) { p->data=p->data-q->data; /*两个链表相加 直到其中一个走完 或者 全都走完结束*/

if(p->data<0) { p->prior->data=p->prior->data-1;


大整数计算实验报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:人教版七年级语文下册:第9课《土地的誓言》同步练习(含答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: