当前位置:文档之家› 两个大整数相加实验报告

两个大整数相加实验报告

计应102-13-杨艺
{inti,j,k;
char sum;
intflag;
i=L_pointer1->Length-1;
j=L_pointer2->Length-1;
k=0;
L_pointer3->Length=0;
flag=0;
while(i=0&&j>=0)
{ sum=L_pointer1->Element[i]+L_pointer2->Element[j]+flag;
{ flag=1;sum=sum%10;}
else
flag=0;
L_pointer3->Element[k]=sum;
L_pointer3->Length++;
i--;k++;
}
while(j>-1)
{ sum=L_pointer2->Element[j]+flag;
if(sum>9)
{ flag=1;sum=sum%10; }
scanf("%s",s);
i=0;
while(s[i]!='\0')
{Insert_Last(&List1,s[i]-'0');
i++;
}
scanf("%s",s);
i=0;
while(s[i]!='\0')
{Insert_Last(&List2,s[i]-'0');
i++;
}
Add(&List1,&List2,&List3);
void Reverse(SeqList*L_pointer)
{ElemTypetemp,*p,*q;
p=L_poointer->Element+L_pointer->Length-1;
while(p<=q)
{ temp=*p;
* p=* q;
* q=temp;
Show_SeqList(&List 3);
SetNull_SeqList(&List1);
SetNull_SeqList(&List2);
SetNull_SeqList(&List3);
}
实验结果
请输入两个长整数,用空格分开:
123456789234 9876543218767
10000000008001
p++;q--;
}
}
void main ()
{intx,i,loca;
char s[80];
SeqListList1,List2,List3;
Init_SeqList(&List1);
Init_SeqList(&List2);
Init_SeqList(&List3);
printf("请输入两个长整数,用空格分开:")
if(sum>9)
{ flag=1;sum=sum%10;
else
flag=0;
L_pointer3->Element[k]=sum;
L_pointer3->Length++;
i--;j--;k++;
}
while(i>-1)
{ sum=L_pointer1->Element[i]+flag;
if(sum>9)
else;
flag=0;
L_pointer3->Element[k]=sum;
L_pointer3->Length++;
j--;k++;
}
if(flag==1)
{ L_pointer3->Element[k]=1;
L_pointer3->Length++;
}
Reverse(L_pointer3);
}
两个大整数的加法实验报告
实验目的
利用VC算出两个大整数的加法结果,更深入的了解加法与线性列表逆转的算法运用。
实验代码
typedefcharElemType
typedefstruct
{ElemTypeElement [MaxSize];
intLength;
}SeqList;
SeqListList;
void Add(Sqelist*L_pointer1,SeqList*L_pointer2,Seqlist*L_pointer3)
相关主题