1 /*1 2 *2014.11.18 3 *大数求和 4 */ 5 #define _CRT_SECURE_NO_WARNINGS 6 #include <stdio.h> 7 #include <string.h> 8 int main() 9 { 10 char a[1000], b[1000], c[1001]; 11 int i, j = 1, p = 0, n, n1, n2; 12 scanf("%d", &n); 13 while (n) 14 { 15 scanf("%s %s", a, b); 16 printf("Case %d: ", j); 17 printf("%s + %s = ", a, b); 18 n1 = strlen(a) - 1; 19 n2 = strlen(b) - 1; 20 for (i = 0; n1 >= 0 || n2 >= 0; i++, n1--, n2--) 21 { 22 if (n1 >= 0 && n2 >= 0){ c[i] = a[n1] + b[n2] - '0' + p; } //要减去'0',因为'0'被多加了一次,若三个数相加,则要减'0'*2 23 if (n1 >= 0 && n2<0){ c[i] = a[n1] + p; } 24 if (n1<0 && n2 >= 0){ c[i] = b[n2] + p; } 25 p = 0; 26 if (c[i]>'9'){ c[i] = c[i] - 10; p = 1; } 27 } 28 if (p == 1){ printf("%d", p); } 29 while (i--) 30 { 31 printf("%c", c[i]); 32 } 33 j++; 34 if (n != 1){ printf(" "); } 35 else { printf(" "); } 36 n--; 37 } 38 }