高精度加法

    xiaoxiao2021-04-18  47

    原 题: 

        输入两个正整数,求它们的和。

    算法分析:

      竖式方法,分别用一个数组存储补加数,一个数组存储加数,一个数组存储结果。

    代 码: 

    #include<iostream> #include<cstdio> #include<cstring> using namespace std; int a[301],b[301],c[301]; int main() {string  s,js; int lena,lenb,lenc,x; cin>>s; cin>>js; lena=s.length(); lenb=js.length(); for (int i=1;i<=lena;++i) a[i]=s[lena-i]-'0'; for (int j=1;j<=lenb;++j) b[j]=js[lenb-j]-'0'; lenc=1; x=0; while(lenc<=lena||lenc<=lenb) {c[lenc]=a[lenc]+b[lenc]+x;  x=c[lenc]/10;  c[lenc]=c[lenc];  lenc++; } c[lenc]=x; if(c[lenc]==0)lenc--; for (int j=lenc;j>=1;j--) cout<<c[j]; return 0; }

     

    转载请注明原文地址: https://ju.6miu.com/read-674619.html

    最新回复(0)