大数相加
Problem Description
升级版的A+B,要考虑大数问题
Input
第一个数为数据组数n,接下来n行,每行2个整数a,b
Output
对于每组数据,输出一行,a+b的值
Sample Input
1 111111111111111111111111111111111 222222222222222222222222222222222
Sample Output
333333333333333333333333333333333代码:
#include<stdio.h>
#include<string.h>
int main()
{
int n;
scanf("%d",&n);
while(n--){
char a[50],b[50];
int c[50]={0},d[50]={0},i,x1,x2,y,m;
scanf("%s",&a);
scanf("%s",&b);
x1=strlen(a);
x2=strlen(b);
if(x2>x1)
m=x2;
else
m=x1;
y=m;
for(i=0;i<x1;m--,i++)
c[m]=a[x1-i-1]-'0';
for(m=y,i=0;i<x2;m--,i++)
d[m]=b[x2-i-1]-'0';
for(i=y;i>=0;i--){
c[i]+=d[i];
if(c[i]>=10){
c[i]-=10;
c[i-1]++;
}
}
if(c[0]!=0){
for(i=0;i<=y;i++)
printf("%d",c[i]);
}
else{
for(i=1;i<=y;i++)
printf("%d",c[i]);
}
printf("\n");
}
return 0;
}