1 /*大数相加*/ 2 #include<stdio.h> 3 #include<string.h> 4 #define M 10000 5 char s1[M], s2[M]; 6 int c1[M], c2[M]; 7 int main() 8 { 9 int i, j, m, n, t, k; 10 while(scanf("%s%s",s1,s2) != EOF) 11 { 12 getchar(); 13 int c3[M]={0}; 14 m=strlen(s1); 15 n=strlen(s2); 16 for(i=0; i<m; i++) 17 c1[i]=s1[i]-48; 18 for(j=0; j<n; j++) 19 c2[j]=s2[j]-48; 20 if(m>n) 21 t=m; 22 else 23 t=n; 24 for(i=m-1, j=n-1 ,k=0; k<=t ;k++, i--, j--) 25 { 26 if(i>=0 && j>=0) 27 c3[k] += c1[i] + c2[j]; 28 else if(i>=0 && j<0) 29 c3[k] += c1[i]; 30 else if(i<0 && j>=0) 31 c3[k] += c2[j]; 32 else break; 33 if(c3[k]>=10) 34 { 35 c3[k+1] += 1; 36 c3[k] -= 10; 37 } 38 } 39 for(i=0; i<t; i++) 40 printf("%d",c3[i]); 41 if(c3[t]==0) 42 printf("\n"); 43 else 44 printf("%d\n",c3[t]); 45 } 46 return 0; 47 }