# include <stdio.h>
# include <math.h>
# include <string.h>
int main(){
char te[10000]={0};
char mp[10000]={0};
int i,tlen,mlen,t,m,len;
int sign=0;
int sum[10000]={0},s;
while((scanf("%s %s",&te,&mp))!=EOF){
sign=0;//初始化
tlen=strlen(te);
mlen=strlen(mp);
t=tlen;
m=mlen;
if(tlen>mlen){len=tlen;}
else
len=mlen;
for(i=len;i>=0;i--){
if(t>0&&m>0){
s=(te[t-1]-48)+(mp[m-1]-48)+sign;
if(s>=10){sum[i]=s%10;
sign=s/10;}
else{sum[i]=s;
sign=0;
}
// printf("\ni:%d,sum:%d\n",i,sum[i]);
t--;
m--;
}
else{
if(t){
if(sign){
s=(te[t-1]-48)+sign;
if(s>=10){sum[i]=s%10;
sign=1;}
else
{sum[i]=s;
sign=0;
}
}
else{
sum[i]=te[t-1]-48;
}
t--;
}
if(m){
// printf("\nm:%d",m);
if(sign){
s=(mp[m-1]-48)+sign;
if(s>=10){sum[i]=s%10;
sign=1;}
else
{sum[i]=s;
sign=0;
}
}
else{
sum[i]=mp[m-1]-48;
}
m--;
/* s=(mp[m-1]-48)+sign;
if(s>=10){sum[i]=s%10;
sign=1;}
else
{sum[i]=s;
sign=0;
}
m--; */}//if
}//else
}///for
// printf("\nsign:\n%d",sign);
if(sign){
sum[0]=1;
for(i=0;i<=len;i++){
printf("%d",sum[i]);}
}
else
{for(i=1;i<=len;i++){
printf("%d",sum[i]);}
}
printf("\n");
}//while
return 0;
}
c语言写了一个大数加。
最新推荐文章于 2022-04-18 21:06:30 发布