#include <stdio.h>
#include <string.h>
void Add(char a[],char b[])
{
char c[1100];
int i,j,num,sum1,sum2,z,up=0;
num=0;
i=strlen(a)-1;
j=strlen(b)-1;
while(i>=0||j>=0)
{
if(i<0)sum1=0;
else sum1=a[i]-'0';
if(j<0)sum2=0;
else sum2=b[j]-'0';
if(up)
{
z=sum1+sum2+1;
}
else z=sum1+sum2;
if(z>9)
{
up=1;
z%=10;
}
else up=0;
c[num++]=z+'0';
i--;
j--;
}
if(up)
{
printf("1");
}
for(i=num-1;i>=0;i--)
{
printf("%c",c[i]);
}
printf("\n");
}
int main()
{
char a[1100],b[1100];
int T,Case;
Case=0;
scanf("%d",&T);
while(T--)
{
scanf("%s",a);
scanf("%s",b);
printf("Case %d:\n",++Case);
printf("%s + %s = ",a,b);
Add(a,b);
if(T!=0)printf("\n");
}
return 0;
}杭电1002模板1-用char[]
最新推荐文章于 2021-05-21 13:49:13 发布
本文介绍了一种使用C语言实现的大数加法算法。该算法能够处理超过标准整型变量长度的大数相加问题,通过字符串逐位相加并处理进位的方式实现了这一功能。适用于需要进行大数运算的场景。
399

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



