杭电ACM 1002 为什么我的代码是wrong answer?

2024-12-12 12:40:27
推荐回答(1个)
回答1:

我的A掉了下面是代码。
#include
#include
void main()
{
int i,n,l1,l2,l,j,d;

char a[1005],b[1005],c[1005];
char *p=c;
scanf("%d",&n);
for(j=1;j<=n;j++)
{
getchar();
scanf("%s %s",a,b);
l1=strlen(a)-1;
l2=strlen(b)-1;
l=l1>l2?l1:l2;
l=l++;
c[0]='0';
c[l+1]='\0';
for(i=l;i>0;i--,l1--,l2--)
{
if(l1>=0&&l2>=0)
c[i]=a[l1]+b[l2]-48;
if(l1<0)
c[i]=b[l2];
if(l2<0)
c[i]=a[l1];
}

for(i=l;i>0;i--)
{
if(!(c[i]>='0'&&c[i]<='9'))
{
c[i]=c[i]-10;
c[i-1]=c[i-1]+1;
}
}
if(c[0]=='0')
p=c+1;

printf("Case %d:\n",j);
printf("%s + %s = %s\n",a,b,p);
if(j!=n)
printf("\n");

}
}