大数相加
#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) 编辑 收藏 举报