大数加法算法

来源:互联网 发布:linux修改文件读写权限 编辑:程序博客网 时间:2024/06/05 09:26

把输入的数用字符的形式存储,用调用函数转化成数字字型,再进做加法运算

注意:

1>进位

2>和的数组要比两数的范围大些


很简单的,不说了直接附上代码如下:

#include<iostream>#include<cstring>using namespace std;int ans[10003];void zhuan(char *a,int *n){int len=strlen(a);for(int i=0;i<len;i++){n[len-i]=a[i]-'0';}}void jia(int *n,int *m){for(int i=1;i<1000;i++){ans[i]=n[i]+m[i];if(ans[i]>9){ans[i]-=10;n[i+1]++;}}}void print(int *a){int i=1000;for(;i>1;i--){if(a[i]){for(;i>1;i--){cout<<a[i];}}}cout<<a[1]<<endl;}int main(){char a[1000],b[1000];int n[1000],m[1000];while(cin>>a>>b){memset(n,0,sizeof(n));memset(m,0,sizeof(m));memset(ans,0,sizeof(ans));zhuan(a,n);zhuan(b,m);jia(n,m);print(ans);}return 0;}

0 0
原创粉丝点击