C语言大数相加算法

#include
#include
int main()
{
char a1[200],a2[200];
int ans1[200],ans2[200],ans[200],b1,b2,i,t=0;
memset(ans1,0,sizeof(ans1));
memset(ans2,0,sizeof(ans2));
memset(ans,0,sizeof(ans));
printf("这是一个大数相加的程序^_^\n");
printf("请输入第一个大数^_^\n");
scanf("%s",a1);
printf("请输入第二个大数^_^\n");
scanf("%s",a2);
b1=strlen(a1);
b2=strlen(a2);
if(b1>b2)
{
t=b1-b2;
for(i=0;i{
ans1[i]=a1[i]-'0';
if(ians2[i+t]=a2[i]-'0';
}
}
else
{
t=b2-b1;
for(i=0;i{
ans2[i]=a2[i]-'0';
if(ians1[i+t]=a1[i]-'0';
}
}
if(b1{
t=b1;
b1=b2;
b2=t;
}
t=0;
for(i=b1-1;i>=0;i--)
{
ans[i]=ans1[i]+ans2[i]+t;
t=0;
if(i>0)
{
if(ans[i]>=10)
{
ans[i]=ans[i]%10;
t=1;
}
}
}
for(i=0;i{
printf("%d",ans[i]);
}
printf("\n");
return 0;
}

相关文档
最新文档