1 #include <stdio.h>
2 #include <string.h>
3 #define MaxSize 10000
4 int n1, n2, i, k, times;
5 char symbol;
6 char data1[MaxSize], data2[MaxSize];
7 int max(int n1, int n2){
8 if(n1 > n2)
9 return n1;
10 else
11 return n2;
12 }
13 void getchars_two(char data_one[MaxSize], char data_two[MaxSize]) {
14 int n;
15 scanf("%s%s",data1, data2);
16 n1 = n = strlen(data1);
17 for(i = 0; i < n; ++i){
18 data_one[i] = data1[n - i - 1];
19 }
20 n2 = n = strlen(data2);
21 for(i = 0; i < n; ++i){
22 data_two[i] = data2[n - i - 1];
23 }
24 if(n1 > n2)
25 for(i = n2; i < n1; ++i){
26 data_two[i] = '0';
27 }
28 else
29 for(i = n1; i < n2; ++i)
30 data_one[i] = '0';
31 }
32 void getchars_one(char data_one[MaxSize], char data_two[MaxSize]) {
33 char data[MaxSize];
34 int n;
35 gets(data);
36 n1 = n = strlen(data);
37 for(i = 0; i < n; ++i){
38 data_one[i] = data[n - i - 1];
39 }
40 gets(data);
41 n2 = n = strlen(data);
42 for(i = 0; i < n; ++i){
43 data_two[i] = data[n - i - 1];
44 }
45 if(n1 > n2)
46 for(i = n2; i < n1; ++i){
47 data_two[i] = '0';
48 }
49 else
50 for(i = n1; i < n2; ++i)
51 data_one[i] = '0';
52 }
53 void big_data_jia(char data_one[MaxSize], char data_two[MaxSize], char data_three[MaxSize]){
54 char data_jin;
55 int Max, value;
56 data_jin = '0';
57 Max = max(n1, n2);
58 for(i = 0; i < Max; ++i){
59 value = (int)data_one[i] + (int)data_two[i] + (int)data_jin - 144;
60 if(value < 10){
61 data_three[i] = (char)(value + 48);
62 data_jin = '0';
63 }
64 else{
65 data_three[i] = (char)(value %10 + 48);
66 data_jin = (char)(value / 10 + 48);
67 }
68 }
69 if(data_jin != '0')
70 data_three[i++] = data_jin;
71 }
72 void print_char(char data_three[MaxSize]){
73 int j;
74 printf("%s + %s = ", data1, data2);
75 j = i - 1;
76 if(data_three[j] == '0') {
77 printf("0\n");
78 return ;
79 }
80 for(; j >= 0; j--){
81 printf("%c", data_three[j]);
82 }
83 printf("\n");
84 if(k != times)
85 printf("\n");
86 }
87 int main(int argc, char const *argv[])
88 {
89 scanf("%d\n", ×);
90 for(k = 1; k <= times; ++k){
91 char data_one[MaxSize], data_two[MaxSize], data_three[MaxSize];
92 getchars_two(data_one, data_two);
93 big_data_jia(data_one, data_two, data_three);
94 printf("Case %d:\n", k);
95 print_char(data_three);
96 }
97 return 0;
98 }