大整数运算(加法)

来源:互联网 发布:微博域名怎么改 编辑:程序博客网 时间:2024/04/29 20:03
大整数加法(str_a+str_b=str_c)
#include<stdio.h>
#include<string.h>
#define N 1009
void add(char str_a[],char str_b[],char str_c[])
{
    chara[N],b[N],c[N];
    inti,sum,len_a,len_b,len,carry;
   memset(a,0,sizeof(a));
   memset(b,0,sizeof(b));
   memset(c,0,sizeof(c));
   strcpy(a,str_a);strcpy(b,str_b);
   strrev(a);strrev(b);
   len_a=strlen(a);len_b=strlen(b);
   for(i=0;i<len_a;i++)
       a[i]=a[i]-'0';
   for(i=0;i<len_b;i++)
       b[i]=b[i]-'0';
   len=len_a>len_b?len_a:len_b;
   carry=0;
   for(i=0;i<len;i++)
    {
       sum=a[i]+b[i]+carry;
       c[i]=sum;
       carry=sum/10;
    }
   if(carry==1)
    {
       c[i]=carry;
       i++;
    }
    len=i;
   for(i=0;i<len;i++)
       c[i]=c[i]+'0';
   c[len]='\0';
   strrev(c);
   strcpy(str_c,c);
}
int main()
{
    charstr_a[N],str_b[N],str_c[N];
    scanf("%s%s",str_a,str_b);
 add(str_a,str_b,str_c);
 puts(str_c);
       return 0;
}
原创粉丝点击