存个代码-高精度加法
#include<bits/stdc++.h>
using namespace std;
const unsigned long long MAX=100000000;
char s1[MAX],s2[MAX];
int lena,lenb,lenc,a[MAX],b[MAX],c[MAX],i,x;
int main(){
gets(s1);
gets(s2);
lena=strlen(s1);
lenb=strlen(s2);
for(i=0;i<=lena-1;i++) a[lena-i]=s1[i]-48;
for(i=0;i<=lenb-1;i++) b[lenb-i]=s2[i]-48;
lenc=1;
x=0;
while(lenc<=lena||lenc<=lenb){
c[lenc]=a[lenc]+b[lenc]+x;
x=c[lenc]/10;
c[lenc]%=10;
lenc++;
}
c[lenc]=x;
if(c[lenc]==0) lenc--;
for(i=lenc;i>=1;i--) cout<<c[i];
return 0;
}

浙公网安备 33010602011771号