思想:采用两个字符串进行输入 在把他们颠倒转存在int的数组内 对两数组进行相加 进位处理 颠倒转存到另一个字符数组内
最后输出字符数组即可
#include<stdio.h> #include<string.h> int a[205],b[205]; char ia[205],ib[205]; int main() { int t; scanf("%d",&t); while(t--) { memset(ia,0,sizeof(ia)); memset(ib,0,sizeof(ib)); memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); scanf("%s%s",ia,ib); int alen=strlen(ia); int blen=strlen(ib); int i=alen-1,k=0; while(i>=0) a[k++]=ia[i--]-'0'; i=blen-1,k=0; while(i>=0) b[k++]=ib[i--]-'0'; int d=0; k=alen>blen?alen:blen; i=0; while(i<k) { b[i]+=a[i]+d; d=b[i]/10; b[i]%=10; i++; } if(d>0) b[k]+=d; else k--; for(i=k;i>=0;i--) ib[k-i]=b[i]+'0'; ib[k+1]='\0'; printf("%s\n",ib); } return 0; }