字符串处理大数据问题,自己测试没什么问题,提交不过,不知道错哪了
#include<stdio.h>
#include<string.h>
void largeadd(char *as,char *bs,char *cs);
main()
{
char as[20][1010],bs[20][1010],cs[20][1010];
int t,i;
scanf("%d",&t);
for(i=0;i<t;i++)
scanf("%s%s",as[i],bs[i]);
for(i=0;i<t;i++)
{
largeadd(as[i],bs[i],cs[i]);
}
for(i=0;i<t;i++)
{
printf("Case %d:\n",i+1);
printf("%s+%s=%s\n",as[i],bs[i],cs[i]);
}
}
void largeadd(char *as,char *bs,char *cs)
{
char a[1010],b[1010],c[1010];
int ml,i,la,lb;
la=strlen(as);
lb=strlen(bs);
ml=(la>=lb)?la:lb;
memset(a,'\0',1010);
memset(b,'\0',1010);
memset(c,'\0',1010);
for(i=0;i<la;i++)
a[i]=as[la-1-i]-'0';
for(i=0;i<lb;i++)
b[i]=bs[lb-1-i]-'0';
for(i=0;i<ml;i++)
{
c[i]=a[i]+b[i];
if(c[i]>=10)
{
c[i]=c[i]-10;
a[i+1]++;
}
}
if(a[ml]>0)
{
ml++;
c[ml-1]=a[ml-1];
}
for(i=0;i<ml;i++)
{
cs[i]=c[ml-1-i]+'0';
}
cs[ml]='\0';
}