您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

超長(zhǎng)正整數(shù)的加法源代碼

大?。?/span>155 人氣: 2010-02-09 需要積分:0
{$username}的空間

用戶級(jí)別:注冊(cè)會(huì)員

貢獻(xiàn)文章:

貢獻(xiàn)資料:

超長(zhǎng)正整數(shù)的加法源代碼
方法一:
#include
#include
#include
typedef struct node
{ int data;
? struct node *next;
}LinkList;
void Create(LinkList *&head,char str[])
{ LinkList *s;
? int i=0,j,k,len,x=0,n; char ch;
? head=(LinkList *)malloc(sizeof(LinkList));
? head->next=head;
? len=strlen(str);
? n=len%4;? ch=str[i];
? s=(LinkList *)malloc(sizeof(LinkList));
? for(j=0; j? { x=x*10+ch-'0';
??? i++;
?ch=str[i];
? }
? s->data=x;
? s->next=head->next;
? head->next=s;
? n=len/4;
? for (j=0; j? { s=(LinkList *)malloc(sizeof(LinkList));
??? x=0;
?for (k=0; k<4; k++)
?{ x=x*10+ch-'0';
?? i++;
?? ch=str[i];
?}
?s->data=x;
?s->next=head->next;
?head->next=s;
? }
}
void Output(LinkList *head)
{ LinkList *p;
? p=head->next;
? while(p!=head)
? { cout<data;
??? p=p->next;
? }
? cout<}
void NiOrder(LinkList *&head)
{ LinkList *p,*r;
? p=head->next;
? if (p!=head)
? { r=p->next;
??? p->next=head;
?p=r;
?while (p!=head)
?{ r=p->next;
?? p->next=head->next;
?? head->next=p;
?? p=r;
?? r=p->next;
?}
? }
}
void AddLink(LinkList *h1,LinkList *h2,LinkList *&h)
{ LinkList *p1,*p2,*s,*r;
? int tag=0;
? p1=h1->next; p2=h2->next;
? h=(LinkList *)malloc(sizeof(LinkList));
? h->next=h;r=h;
? while (p1!=h1 && p2!=h2)
? { s=(LinkList *)malloc(sizeof(LinkList));
??? s->data=(p1->data+p2->data+tag)%10000;
?tag=(p1->data+p2->data+tag)/10000;
??? r->next=s;
?r=s;
?p1=p1->next;? p2=p2->next;
? }
? while (p1!=h1)
? { s=(LinkList *)malloc(sizeof(LinkList));
??? s->data=(p1->data+tag)%10000;
?tag=(p1->data+tag)/10000;
??? r->next=s;
?r=s;
?p1=p1->next;
? }
? while (p2!=h2)
? { s=(LinkList *)malloc(sizeof(LinkList));
??? s->data=(p2->data+tag)%10000;
?tag=(p2->data+tag)/10000;
??? r->next=s;
?r=s;
?p2=p2->next;
? }
? r->next=h;
}
void main()
{ LinkList *head,*head1,*head2;
? char str1[100],str2[100];
? cout<<"輸入一個(gè)超長(zhǎng)正整數(shù)a:";
? cin>>str1;
? cout<<"輸入一個(gè)超長(zhǎng)正整數(shù)b:";
? cin>>str2;

非常好我支持^.^

(4) 100%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?