题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002
#include<stdio.h>
#include<string.h>
int main()
{
char a[1010],b[1010],c[1010];
int i,j,p=0,n,n1,n2;
scanf("%d",&n);
for(j=1;j<=n;j++)
{
scanf("%s%s",a,b);
printf("Case %d:\n",j);
printf("%s + %s = ",a,b);
n1=strlen(a)-1;
n2=strlen(b)-1;
for(i=0;n1>=0||n2>=0;i++,n1--,n2--)
{
if(n1>=0&&n2>=0)
c[i]=a[n1]+b[n2]-'0'+p;//字符串的末尾相当于个位
if(n1>=0&&n2<0)
c[i]=a[n1]+p;
if(n1<0&&n2>=0)
c[i]=b[n2]+p;
p=0;
if(c[i]>'9')//有进位!!!!
{
c[i]=c[i]-10;
p=1;
}
}
if(p==1)
printf("%d",p);
for(int r=i-1;r>=0;r--)
printf("%c",c[r]);
if(j<n)
printf("\n\n");
else
printf("\n");
}
}