Description
Your task is to Calculate a + b.
Input
There are multiple test cases. Each test case contains only one line. Each line consists of a pair of integers a and b(1=< a,b <=1016), separated by a space. Input is followed by a single line with a = 0, b = 0, which should not be processed.
Output
For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input.
Sample Input
1 5
10 20
10000000000000000 10000000000000000
0 0
Sample Output
6
30
20000000000000000
HINT
#include <stdio.h>
#include <string.h>
int main(){
char str1[1001], str2[1001];
int i, len_str1, len_str2, len_max, num = 1, k;
while(scanf("%s", str1)&& scanf("%s",str2)!=EOF){
if(str1[0]=='0'&&str2[0]=='0') continue;
int a[1001] = {0}, b[1001] = {0}, c[1001] = {0};
len_str1 = strlen(str1);
for(i = 0; i <= len_str1 - 1; ++i)
a[i] = str1[len_str1 - 1 - i] - '0';
len_str2 = strlen(str2);
for(i = 0; i <= len_str2 - 1; ++i)
b[i] = str2[len_str2 - 1 - i] - '0';
if(len_str1 > len_str2)
len_max = len_str1;
else
len_max = len_str2;
k = 0;
for(i = 0; i <= len_max - 1; ++i){
c[i] = (a[i] + b[i] + k) % 10;
k = (a[i] + b[i] + k) / 10;
}
if(k != 0)
c[len_max] = 1;
if(c[len_max] == 1)
printf("1");
for(i = len_max - 1; i >= 0; --i){
printf("%d", c[i]);
}
printf("\n");
}
return 0;
}
注意如何将char类型转换成int类型