大整数运算(加法)
(大整数加法(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[])
{
char a[N],b[N],c[N];
int i,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%10;
carry=sum/10;
}
if(carry>0)
{
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()
{
char str_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;
}