大数相加
发布时间:2020-12-14 03:31:43 所属栏目:大数据 来源:网络整理
导读:思想比较简单,没有进行优化。 #includeiostream#define MAX 10#includecstringusing namespace std;void plus(const char *,const char *,char * );int main(){char n1[10],n2[10],n3[10];cinn1n2;plus(n1,n2,n3);int i =strlen(n3);for (int dex = i-1; de
思想比较简单,没有进行优化。
#include<iostream> #define MAX 10 #include<cstring> using namespace std; void plus(const char *,const char *,char * ); int main() { char n1[10],n2[10],n3[10]; cin>>n1>>n2; plus(n1,n2,n3); int i =strlen(n3); for (int dex = i-1; dex >= 0;dex--) cout<<n3[dex]; cout<<endl; } void plus(const char * n1,const char * n2,char * n3) { cout<< 1<<endl; int n11 = strlen(n1)-1; int n22 = strlen(n2)-1; int i =0 ; bool flage = false; for( ; (n11>-1) && (n22>-1) ;n11--,n22--,i++) { cout<< i<<endl; if (n1[n11] + n2[n22]+flage -'0'-'0' >= 10) { n3[i] = n1[n11] + n2[n22]+flage -'0' -10; flage = true; } else { n3[i] = n1[n11] + n2[n22]+flage -'0' ; flage = false ; } cout<< i<<" "<<n3[i]<<endl;; } if (n11 != -1) { while (n11 !=-1) { if (n1[n11] +flage -'0' >= 10) { n3[i] = n1[n11] +flage - 10; flage = true ; } else { n3[i] = n1[n11] +flage ; flage = false ; } cout<< i<<" "<<n3[i]<<endl; i++; n11--; } } else if (n22 != -1) { while (n22 !=-1) { if (n2[n22] +flage -'0' >= 10) { n3[i] = n2[n22] +flage - 10; flage = true ; } else { n3[i] = n2[n22] +flage ; flage = false ; } i++; n11--; } cout<< i<<" "<<n3[i]; } if (flage) { n3[i++] ='1'; } n3[i] =' '; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |