高精度加法,大整数加法

it2022-05-05  129

#include<iostream> #include<string> using namespace std; int main() { string a,b; string ans; while(cin>>a>>b) { int carry; int i,j,k; int add1,add2,sum; i=a.size()-1; j=b.size()-1; k=i>j?i:j; if(i>j) ans=a; else ans=b; for(carry=0;k>=0;i--,j--,k--) { add1=i<0?0:a[i]-'0'; add2=j<0?0:b[j]-'0'; sum=add2+add1+carry>=10?add1+add2+carry-10:add1+add2+carry; carry=add1+add2+carry>=10?1:0; ans[k]=sum+'0'; } if(carry)cout<<"1"; cout<<ans; } return 0; } #include<iostream> #include<string> using namespace std; int main() { string a,b; string ans; while(cin>>a>>b) { int carry; int i,j,k; int add1,add2,sum; i=a.size()-1; j=b.size()-1; k=i>j?i:j; if(i>j) ans=a; else ans=b; for(carry=0;k>=0;i--,j--,k--) { add1=i<0?0:a[i]-'0'; add2=j<0?0:b[j]-'0'; sum=add2+add1+carry>=10?add1+add2+carry-10:add1+add2+carry; carry=add1+add2+carry>=10?1:0; ans[k]=sum+'0'; } if(carry)cout<<"1"; cout<<ans; } return 0; }

 

转载于:https://www.cnblogs.com/5t2y0/p/9268668.html

相关资源:数据结构—成绩单生成器

最新回复(0)