#include "iostream"
#include"string"
#include"algorithm"
using namespace std;
string str1,str2;
char str3[100];
int main()
{
cin>>str1;
cout<<str1[0]<<endl;
cin>>str2;
int i,j,min,key,max;
key =0;
min = str1.size()>str2.size()?str2.size():str1.size();
max = str1.size()>str2.size()?str1.size():str2.size();
for(i=1;i<=min;i++)
{
int num = str1[str1.size() - i] -'0' +str2[str2.size() - i] -'0'+ key;
cout<<str1[str1.size() - i]<<" "<<str2[str2.size() - i]<<endl;
key = num/10;
num = num%10;
cout<<key<<" key"<<num<<endl;
str3[max-i] = num+'0';
cout<< str3[max-i]<<endl;
}
if(str1.size()>min)
{
while(i<=max)
{
int num = str1[str1.size() - i] - '0' +key;
key = num/10;
num = num%10;
str3[max - i] = num + '0';
i++;
}
}
if(str2.size()>min)
{
while(i<=max)
{
int num = str2[str2.size() - i] - '0' +key;
key = num/10;
num = num%10;
str3[max - i] = num + '0';
i++;
}
}
if(key>0)
{
cout<<key<<str3<<endl;
}
else
{
cout<<str3<<endl;
}
return 0;
}
用字符串保存大数,然后用key表示进位,来逐位计算。