Description
写程序求两个相同位数的大整数之和
Input
两个大整数(位数不超过1000)
Output
两个大整数的和
Sample Input
1234567890 1234567890 111111111111 222222222222
Sample Output
2469135780 333333333333
Hint
输入用while(scanf() != EOF) 或者 while(cin >>)
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char a[1001],b[1001],c[1002]={0};
int i,j,n1,n2,n;
while(cin>>a>>b)
{
n1=strlen(a);
n2=strlen(b);
n=n1>n2 ?n1:n2;
if(n1<n2)
{
for(i=n2-1,j=n1-1;j>=0;i--,j--)
{
b[i]=b[i]+a[j]-'0';
}
for(i=0;i<n;i++)
c[i]=b[i];
}
else
{
for(i=n1-1,j=n2-1;j>=0;i--,j--)
{
a[i]=a[i]+b[j]-'0';
}
for(i=0;i<n;i++)
c[i]=a[i];
}
for(i=n-1;i>0;i--)
{
if(c[i]>'9')
{
c[i]-=10;
c[i-1]+=1;
}
}
if(c[0]>'9')
{
cout<<"1";
c[0]-=10;
}
for(i=0;i<n;i++)
cout<<c[i];
cout<<endl;
}
return 0;
}