翻版的很大整数相加
程序代码:#include<stdio.h>
#include<string.h>
int main()
{
char a[100],b[100],temp[100];
int pa[100],pb[100],n,i,la,lb,j,k;
scanf("%d",&n);
while(n--)
{
scanf("%s %s",a,b);
la=strlen(a);
lb=strlen(b);
if(la<lb)
{
strcpy(temp,a);
strcpy(a,b);
strcpy(b,temp);
j=la;
la=lb;
lb=j;
}
j=0;
for(i=la-1;i>=0;i--)
pa[j++]=a[i]-'a'+1;
pa[j]=0;
j=0;
for(i=lb-1;i>=0;i--)
pb[j++]=b[i]-'a'+1;
for(i=0,k=0;i<la,k<lb;i++,k++)
{
pa[i]+=pb[k];
if(pa[i]>26)
{
pa[i]-=26;
pa[i+1]++;
}
}
if(pa[la]!=0) j=la;
else j=la-1;
for(i=j;i>=0;i--)
printf("%c",pa[i]+'a'-1);
printf("\n");
if(n)
printf("\n");
}
return 0;
}Description
计算A+B,但是这里A,B表示的是字符串。并且'a'表示1,'b'表示2...'z'表示26,如果两个字母相加的结果超过26,就进位。如:abcdef+aaaaaa,结果为bcdefg,a+z=aa.
Input
第一行为N,表示接下来有N组测试数据。接下来的N行表示N组测试数据,每组测试数据包含两个字符串,中间用空格隔开,并且保证每个字符串中的字符都是小写字母。
Output
输出A+B的结果,输出要求也是字符串。每两组数据之间有一个空行。
Sample Input
2
abcdef aaaaaa
a z
Sample Output
bcdefg
aa









