【c++大數加法】A+B陣列實現
阿新 • • 發佈:2018-11-10
#include<iostream> #include<cstring> #include<algorithm> #include<cstdio> using namespace std; char ac[10005]; char bc[10005]; int arr[10005]; int brr[10005]; int crr[10005]; int main(){ scanf("%s",ac); scanf("%s",bc); memset(arr,0,sizeof(arr)); memset(brr,0,sizeof(brr)); memset(crr,0,sizeof(crr)); int lena=strlen(ac); int lenb=strlen(bc); int y=0; for(int i=lena-1;i>=0;i--){ arr[y++]=ac[i]-'0'; } y=0; for(int i=lenb-1;i>=0;i--){ brr[y++]=bc[i]-'0'; } // // for(int i=0;i<lena;i++){ // cout<<arr[i]; // } // cout<<endl; // for(int i=0;i<lenb;i++){ // cout<<brr[i]; // } // cout<<endl; int maxv=max(lena,lenb); int t=0; for(int i=0;i<maxv+1;i++){ crr[i]=arr[i]+brr[i]+t; if(crr[i]>=10){ t=crr[i]/10; crr[i]=crr[i]%10; }else{ t=0; } } if(crr[maxv]!=0) cout<<crr[maxv]; for(int i=maxv-1;i>=0;i--){ cout<<crr[i]; } cout<<endl; return 0; }