高精度_加法

来源:互联网 发布:政务大数据解决方案 编辑:程序博客网 时间:2024/06/05 04:26
#include<cstdio>#include<cstring>#include<iostream>using namespace std;void add(string s1,string s2){    char ch[1005];int l1=s1.length(),l2=s2.length(); int a[1005],b[1005],c[1005];    memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(c,0,sizeof(c));    for(int i=1;i<=l1;i++) a[i]=s1[l1-i]-'0';    for(int i=1;i<=l2;i++) b[i]=s2[l2-i]-'0';    c[0]=max(l1,l2);    for(int i=1;i<=c[0];i++) c[i]=a[i]+b[i];    for(int i=1;i<=c[0];i++) if(c[i]>9) c[i]-=10,c[i+1]++;    if(c[c[0]+1]>0) c[0]++;    for(int i=1;i<=c[0];i++) ch[c[0]-i]=c[i]+'0';    printf("%s",ch);}int main(){    string a,b;    cin>>a>>b;    add(a,b);}
1 0