[C] 纯文本查看 复制代码 #include<stdio.h>
#include<string.h>
char a[1005],a1[1005];
char b[1005],b1[1005];
int main()
{
int t,n=0;
int i,j;
scanf("%d",&t);
while(t--)
{
n++;
scanf("%s",a);
scanf("%s",b);
strcpy(a1,a);
strcpy(b1,b);
int _a,_b;
_a=strlen(a);
_b=strlen(b);
if(_a>_b)
{
for(i=_a-1,j=_b-1;j>=0;i--,j--)
{
a[i]=a[i]+b[j]-'0';
if(a[i]>'9')
{
a[i]-=10;
a[i-1]+=1;
}
}
for(;i>=0;i--)
{
if(i==0&&a[0]>'9')
{
a[0]-=10;
for(int o=_a;o>0;o--)
{
a[o]=a[o-1];
}
a[0]='1';
}
if(a[i]>'9')
{
a[i]-=10;
a[i-1]+=1;
}
}
}
else
{
for(i=_a-1,j=_b-1;i>=0;i--,j--)
{
b[j]=b[j]+a[i]-'0';
if(b[j]>'9')
{
b[j]-=10;
b[j-1]+=1;
}
}
for(;j>=0;j--)
{
if(j==0&&b[0]>'9')
{
b[0]=b[0]-10;
for(int o=_b;o>=0;o--)
{
b[o]=b[o-1];
}
b[0]='1';
}
if(b[j]>'9')
{
b[j]=b[j]-10;
b[j-1]+=1;
}
}
strcpy(a,b);
}
printf("Case %d:\n",n);
printf("%s + %s = %s\n",a1,b1,a);
if(t)printf("\n");
}
return 0;
} |