大数相加

#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;
}

 

posted on 2012-01-26 17:33  [S*I]SImMon_WCG______*  阅读(164)  评论(0编辑  收藏  举报

导航