高精度代码如下:
#include<bits/stdc++.h>
using namespace std;
void swap(char &e1,char &e2)
{
char t1;
t1=e1;
e1=e2;
e2=t1;
}
string add(string a,string b)
{
string c;
c[0]='\0';
int x=0,y=0;
for(int i=0;i<=a.size()/2;i++)
{
swap(a[i],a[a.size()-i-1]);
}
for(int i=0;i<=b.size()/2;i++)
{
swap(b[i],b[b.size()-i-1]);
}
cout<<a<<' '<<b<<endl;
for(int i=0;i<=max(a.size(),b.size());i++)
{
c[i]='0';
y=0;
if(a[i]>='0'&&a[i]<='9')
{
y+=a[i]-'0';
}
if(b[i]>='0'&&b[i]<='9')
{
y+=b[i]-'0';
}
c[i]=y%10+x+'0';
x=y/10;
cout<<c[i]<<endl;
}
while(c[c.size()]=='0')
{
c[c.size()]='\0';
}
for(int i=0;i<=c.size();i++)
{
cout<<c[i];
}
return c;
}
int main()
{
string a,b;
cin>>a>>b;
cout<<add(a,b);
return 0;
}
输入如下: 123 123 输出如下: 321 321 6 4 2 0 6