存个代码-高精度加法

#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;
}
posted @ 2020-08-26 16:29  jsh-oier  阅读(83)  评论(0)    收藏  举报