69,373
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<string.h>
int main()
{
int n,p,q,i,j,k,l=0;
char a[1002],b[1002],c[1003];
scanf("%d",&n);
while(n--)
{
scanf("%s%s",&a,&b);
// printf("\n");
p=strlen(a);
q=strlen(b);
for(i=0;i<1003;i++) c[i]=48;
for(i=p,j=q,k=1002;;i--,j--)
{
if(i>=0&&j>=0)
{
if(a[i]+b[j]+c[k]-48>105)
{
c[k-1]++;
c[k]+=a[i]+b[j]-106;
k--;
}
if(a[i]+b[j]+c[k]-'0'<106)
{
c[k]+=a[i]+b[j]-96;
k--;
}
}
if(i<0&&j>=0)
{
if(b[j]+c[k]>105)
{
c[k-1]++;
c[k]+=b[j]-58;
k--;
}
if(b[j]+c[k]<106)
{
c[k]+=b[j]-48;
k--;
}
}
if(j<0&&i>=0)
{
if(a[i]+c[k]>105)
{
c[k-1]++;
c[k]+=a[i]-58;
k--;
}
if(a[i]+c[k]<106)
{
c[k]+=a[i]-48;
k--;
}
}
if(i<0&&j<0) break;
}
l++;
printf("Case %d:\n%s + %s = ",l,a,b);
for(i=0;i<1003;i++)
if(c[i]!=48)
{
k=i;
break;
}
for(;k<1002;k++)
printf("%c",c[k]);
if(n)
printf("\n\n");
else
printf("\n");
}
return 0;
}