现在的位置: 首页 > 综合 > 正文

大整数加法(C程序实现)

2014年02月10日 ⁄ 综合 ⁄ 共 497字 ⁄ 字号 评论关闭

 大整数加法(C程序实现)

int add(int l1,int l2,int a1[101],int a2[101],int c[101])
{//计算a1与a2的和,结果可在到c中,并返回c的长度
 int i;
 int len;
 int k=0;//进位
 if(l1<l2)len=l1;
 else len=l2;
 for(i=0;i<len;i++)
 {
  c[i]=(a1[i]+a2[i]+k)%10;
  k=(a1[i]+a2[i]+k)/10;
 }
 if(l1>len)
 {
  for(i=len;i<l1;i++)
  {
   c[i]=(a1[i]+k)%10;
   k=(a1[i]+k)/10;   
  }
  if(k!=0)
  {
   c[l1]=k;
   len=l1+1;
  }
  else len=l1;
 }
 else
 {
  for(i=len;i<l2;i++)
  {
   c[i]=(a2[i]+k)%10;
   k=(a2[i]+k)/10;   
  }
  if(k!=0)
  {
   c[l2]=k;
   len=l2+1;
  }
  else len=l2;
 }
 return len;
}

抱歉!评论已关闭.