用字符串读取大整数。
然后倒序存入整形数组里。
最后还原成正序
具体见代码
#include<cstdio>
#include<cstring>
#define maxn 10005
char a[maxn],b[maxn];
int na[maxn],nb[maxn];
void add()
{
memset(na,0,sizeof(na));
memset(nb,0,sizeof(nb));
int la=strlen(a),lb=strlen(b);
for(int i=0;a[i];i++) na[la-1-i]=a[i]-'0';
for(int i=0;b[i];i++) nb[lb-1-i]=b[i]-'0';
int lmax=la>lb?la:lb;
for(int i=0;i<lmax;i++) na[i]+=nb[i],na[i+1]+=na[i]/10,na[i]%=10;
if(na[lmax]) lmax++;
for(int i=0;i<lmax;i++) a[lmax-i-1]=na[i]+'0';
a[lmax]='\0';
}
int main()
{
while(~scanf("%s%s",a,b))
{
add();
printf("%s\n",a);
}
return 0;
}