>author: Utin
## Question

神射手丁特過年時去TOYZ家玩射龍門,原本小賺了一波,突然神射手特哥臉色特變,龍門射歪直接輸到脫褲,由於賭注籌碼巨大到可以製作超過471次的紫布,請幫丁特計算一下他總共要賠多少錢。
### Input
有兩行數字,每三位會用逗號隔開
### Output
請輸出兩數的和,並且每三位要用逗號隔開,最後請輸出'\n'
### Constraint
輸入的位數 <= 20
### Sample Input
```=
100,200,300
100,200,700
```
### Sample Output
```=
200,401,000
```
## 作法
迴圈搭配陣列,一位一位處理,跟加法器很像
## 常見問題
- scanf 記得取址
- 注意逗號輸入 / 輸出的問題
- 陣列要開得夠大
- 注意進位問題
## 解法
```c=
#include <stdio.h>
int a[21], b[21], sum[21], len_a = 0, len_b = 0, len_max;
char input_a[21], input_b[21];
int main() {
// input
char input;
while ((input = getchar()) != '\n')
if (input != ',') input_a[len_a++] = input;
while ((input = getchar()) != EOF)
if (input != ',') input_b[len_b++] = input;
// get the max len of a and b
len_max = len_a > len_b ? len_a : len_b;
// reverse the array
for (int i = 0; i < len_a; i++)
a[i] = input_a[len_a - i - 1] - '0';
for (int i = 0; i < len_b; i++)
b[i] = input_b[len_b - i - 1] - '0';
// add a and b bit by bit
for (int i = 0; i < len_max; i++) {
sum[i] += a[i] + b[i];
sum[i + 1] += sum[i] / 10;
sum[i] %= 10;
}
// output
if (sum[len_max]) printf("%d", sum[len_max]);
for (int i = len_max - 1; i >= 0; i--) {
if (i % 3 == 2 && i != len_max - 1) printf(",");
printf("%d", sum[i]);
}
printf("\n");
}
```