#include<stdio.h>
#include<string.h>
int Maxlen;
char a[1010],b[1010];
int an1[1010],an2[1010];
/*大数相加程序*/
int Add(int Maxlen,int an1[],int an2[])
{
int i;
for(i=0;i<Maxlen;i++)
{
an1[i]+=an2[i];
if(an1[i]>=10)
{
an1[i]-=10;
an1[i+1]++;
}
}
}
int main()
{
freopen("in.txt","r",stdin);
int i,j;
int n;
int h,k=1;
scanf("%d",&n);
h=n;
while(n--)
{
scanf("%s",a);
scanf("%s",b);
memset(an1,0,sizeof(an1));
memset(an2,0,sizeof(an2));
int len1=strlen(a);
int len2=strlen(b);
if(len1>len2)
Maxlen=len1;
Maxlen=len2;
for(j=0,i=len1-1;i>=0;i--)
an1[j++]=a[i]-‘0‘;
for(j=0,i=len2-1;i>=0;i--)
an2[j++]=b[i]-‘0‘;
Add(Maxlen,an1,an2);
for(i=1010;i>=0;i--)
{
if(an1[i]!=0)
break;
}
printf("Case %d:\n",k);
printf("%s + %s = ",a,b);
//printf("%d\n\n",a,b,an1[i]);
for(i=len1-1;i>=0;i--)
{
printf("%d",an1[i]);
}
if(k==h)
printf("\n");
else
printf("\n\n");
k++;
}
return 0;
}
原文:http://blog.csdn.net/yuzibo747/article/details/21827577