题目描述
给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。
现在请计算A+B的结果,并以正常形式输出。
输入
输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。
输出
请计算A+B的结果,并以正常形式输出,每组数据占一行。
样例输入
-234,567,890 123,456,789
1,234 2,345,678
样例输出
-111111101
2346912
思路
很简单的一道题,关键在与将字符串处理’,'并转换为数字,这里采用去除字符串数组内的逗号,然后运用 <stdlib.h>内的atoi()函数转换为数;
代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
char a[20];
char b[20];
while (scanf("%s %s", &a, &b) != EOF) {
int i, j;
/*j为遍历指针,i为遍历时复制到的位置*/
for (i = 0, j = 0; a[j] != 0; j++) {
if (a[j] != ',') {//为逗号则遍历指针j继续走,i停到当前位置等待后续字符填充
a[i++] = a[j];
}
}
a[i] = 0;//末尾加上\0标志字符串结束
for (i = 0, j = 0; b[j] != 0; j++) {
if (b[j] != ',') {
b[i++] = b[j];
}
}
b[i] = 0;
printf("%d\n", atoi(a) + atoi(b));
}
return 0;
}