您的位置:首页 > 其它

大数相加模板

2010-07-11 09:56 218 查看
#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: