高精度加法
内容:
输入两个整数x、y,输出它们的和。(0≤x、y≤10 100 )
输入说明:
两行,每行一整数。
输出说明:
一行一整数
输入样例:
123 321
输出样例:
444 #include<iostream> #include<cstring> using namespace std; int main() { string s1,s2; int a[120],b[120],he; int i; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); cin>>s1>>s2; a[0]=s1.length(); for(i=1;i<=a[0];i++) {a[i]=s1[a[0]-i]-'0'; } b[0]=s2.length(); for(i=1;i<=b[0];i++) {b[i]=s2[b[0]-i]-'0'; } he=(a[0]>b[0]?a[0]:b[0]); for(i=1;i<=he;i++) { a[i]+=b[i]; a[i+1]+=a[i]/10; a[i]%=10; } he++; while((a[he]==0)&&(he>1)) he--; for(i=he;i>=1;i--) cout<<a[i]; return 0; }