高精度加法
//高精度加法 #include<stdio.h> #include<string.h> int main() { int i,j,t,long1,long2,k; char a[1000],b[1000]; scanf("%d",&t); for(i=0;i<t;i++) { int m[1000]={0},n[1000]={0},c[10000]={0},x=0; scanf("%s",a); scanf("%s",b); long1=strlen(a); long2=strlen(b); for(j=0;j<long1;j++)m[long1-j-1]=a[j]-'0'; for(j=0;j<long2;j++)n[long2-j-1]=b[j]-'0'; k=long1<long2?long2:long1; for(j=0;j<k;j++) { c[j]=c[j]+m[j]+n[j]; if(c[j]>9){c[j]=c[j]-10;c[j+1]=c[j+1]+1;} } if(c[j+1]>0)x=1; printf("Case %d: ",i+1); for(j=long1-1;j>=0;j--) printf("%d",m[j]); printf(" + "); for(j=long2-1;j>=0;j--) printf("%d",n[j]); printf(" = "); for(j=k+x-1;j>=0;j--) printf("%d",c[j]); if(i==t-1)printf(" "); else printf(" "); } return 0; }