求A+B( 0<=A,B<=10100000 )。
#include <stdio.h>
#include <string.h>
#define max(a,b) ((a)>(b)?(a):(b))
char x1[100001],y1[100001];
int x[100001],y[100001],z[100001];
int len_x,len_y,len_z;
int main()
{
scanf("%s%s",x1,y1);
len_x=strlen(x1);len_y=strlen(y1);
len_z = max(len_x,len_y);
for(int i=0; i<len_x; i++)
x[len_x-i-1] = x1[i]-'0';
for(int i=0; i<len_y; i++)
y[len_y-i-1] = y1[i]-'0';
for(int i=0; i<len_z; i++)
z[i] = x[i]+y[i];
for(int i=0; i<len_z; i++)
{
z[i+1] += z[i]/10;
z[i] %= 10;
}
if(z[len_z]) len_z++;
for(int i=len_z-1;i>=0;i--)
printf("%d",z[i]);
return 0;
}