题目地址:http://ac.jobdu.com/problem.php?cid=1040&pid=59
C语言源码:
#include<stdio.h>
#include<string.h>
int main()
{
char a[1010],b[1010];
int x[1010],y[1010];
int i,lena,lenb,k;
while(scanf("%s %s",a,b)!=EOF)
{
getchar();
for(i=0;i<1010;i++)
{
x[i]=0;
y[i]=0;
}
lena=(int)strlen(a);
for(i=lena-1;i>=0;i--)
x[lena-1-i]=a[i]-'0';
lenb=(int)strlen(b);
for(i=lenb-1;i>=0;i--)
y[lenb-1-i]=b[i]-'0';
k=0;
for(i=0;i<lena||i<lenb;i++)
{
if(k+x[i]+y[i]>=10)
{
x[i]=x[i]+y[i]+k-10;
k=1;
}
else
{
x[i]=x[i]+y[i]+k;
k=0;
}
}
if(k)
x[i++]=k;
for(k=i-1;k>=0;k--)
printf("%d",x[k]);
printf("\n");
}
}
C语言加法器实现
本文介绍了一个使用C语言编写的简单加法器程序。该程序接收两个字符串形式的大整数作为输入,并能够正确处理任意长度的大整数相加运算。通过逐位相加并考虑进位的方式实现了大数加法。
363

被折叠的 条评论
为什么被折叠?



