HDOJ(1002) A + B Problem II

HDOJ(1002) A + B Problem II

我自己写了一个版本,用于模拟小学数学中的加法操作过程,代码如下:

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 const int MAX_LEN = 1002;
 5 
 6 void long_add(char *result, char *A, char *B)
 7 {
 8     int len_a = strlen(A), len_b = strlen(B);
 9     int a, b, t;
10     int carry = 0;
11 
12     while (len_a > 0 || len_b > 0){
13         if (len_a > 0) a = A[len_a-1] - '0';
14         else a = 0;
15 
16         if (len_b > 0) b = B[len_b-1] - '0';
17         else b = 0;
18 
19         t = a + b + carry;
20         carry = t / 10; 
21         t = t % 10;     
22 
23         if (len_a > len_b){
24             result[len_a-1] = t + '0';
25         }else{
26             result[len_b-1] = t + '0';
27         }
28 
29         len_a--;
30         len_b--;
31     }
32 }
33 
34 void reset(char * array)
35 {
36     int i, len = sizeof(array);
37     for (i = 0; i < len; i++)
38         array[i] = '