题目描述
给定两个整数 A 和 B ,其表示形式是:从个位开始,每三位数用逗号","隔开。
现在请计算 A + B 的结果,并以正常形式输出。
输入
输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-109 < A,B < 109)。
输出
请计算A+B的结果,并以正常形式输出,每组数据占一行。
样例输入
-234,567,890 123,456,789
1,234 2,345,678
样例输出
-111111101
2346912
注意
不要忘了判断数组的第一个字符是否为 ’ - ’ 号。
代码:
#include <stdio.h>
#include <string.h>
long change(char *a, int len) {
int j=1;
long sum=0;
for(int i=len-1; i>=0; i--) {
if(a[i] >= '0' && a[i] <= '9') {
sum += (a[i]-48) * j; // '0'的ASCⅡ码值为48
j *= 10;
}
}
if(a[0] == '-') {
sum = -sum;
}
return sum;
}
int main() {
char a[15], b[15];
int len1, len2;
long A, B;
while(scanf("%s%s", &a, &b) != EOF) {
len1 = strlen(a);
len2 = strlen(b);
A = change(a, len1);
B = change(b, len2);
printf("%ld\n", A+B);
}
return 0;
}
结果: