#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