http://acm.hdu.edu.cn/status.php?user=1870757005&pid=1002&status=5
#include<stdio.h.> #include<string.h> int main() { int t,n,m,k,i,c,h=1; char s1[1005],s2[1005]; int a[1005],b[1005],p=0; scanf("%d",&t); getchar(); while(t--) { if(p!=0) printf("\n"); p=1; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); scanf("%s %s",s1,s2); n=strlen(s1); m=strlen(s2); if(n<m) k=m; else k=n; c=k; for(i=0;i<n;i++) { a[k--]=s1[n-i-1]-'0'; } for(k=c,i=0;i<m;i++) { b[k--]=s2[m-i-1]-'0'; } for(i=c;i>=0;i--) { a[i]+=b[i]; if(a[i]>=10) { a[i]=a[i]-10; a[i-1]++; } } printf("Case %d:\n",h++); printf("%s + %s = ",s1,s2); if(a[0]==0) { for(i=1;i<=c;i++) { printf("%d",a[i]); } printf("\n"); } else { for(i=0;i<=c;i++) { printf("%d",a[i]); } printf("\n"); } } return 0; }