大数相加

#include<stdio.h>   
#include<string.h>
char sum[65];
void fun(char a[],char b[])
{
int i,lena,lenb,len;
lena=strlen(a);
lenb=strlen(b);
len=(lena<lenb)?lena:lenb;
strrev(a);strrev(b);
memset(sum,0,sizeof(sum));

for(i=0;i<len;i++)
{
sum[i]+=a[i]+b[i]-'0';
if(sum[i]>'9') { sum[i]-=10;sum[i+1]++; }
}
for(;i<lena;i++)
{
sum[i]+=a[i];
if(sum[i]>'9') { sum[i]-=10; sum[i+1]++; }
}
for(;i<lenb;i++)
{
sum[i]+=b[i];
if(sum[i]>'9') { sum[i]-=10; sum[i+1]++; }
}
if(sum[i]>0) sum[i]+='0';

strrev(sum);strrev(a);strrev(b);
}
int main()
{
char a[65],b[65];
while(scanf("%s %s",a,b)!=EOF)
{
fun(a,b);
printf("%s/n",sum);
}
return 0;
}

 

你可能感兴趣的:(大数相加)