无负数高精度加法(模板)
1 #include<bits/stdc++.h> 2 using namespace std; 3 int a[506],b[506],lena,lenb,js;string a1,b2; 4 int main() 5 { 6 cin>>a1>>b2; 7 lena=a1.length(); 8 lenb=b2.length(); 9 for(int i=0;i<=lena-1;i++){ 10 a[lena-i-1]=a1[i]-'0'; 11 } 12 for(int i=0;i<=lenb-1;i++){ 13 b[lenb-i-1]=b2[i]-'0'; 14 } 15 if(lena>=lenb){ 16 for(int i=0;i<=lena-1;i++){ 17 int ss=a[i]; 18 a[i]=(b[i]+js+a[i])%10; 19 js=(ss+b[i]+js)/10; 20 } 21 if(js) a[lena]=js; 22 else lena--; 23 for(int i=lena;i>=0;i--) cout<<a[i]; 24 return 0; 25 } 26 else{ 27 for(int i=0;i<=lenb-1;i++){ 28 int ss=b[i]; 29 b[i]=(b[i]+js+a[i])%10; 30 js=(ss+a[i]+js)/10; 31 } 32 if(js) b[lenb]=js; 33 else lenb--; 34 for(int i=lenb;i>=0;i--) cout<<b[i]; 35 return 0; 36 } 37 return 0; 38 }