算法题练习02:A+B
题目描述
给定两个整数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
思路
用的暴力法
1.先用字符串存储输入的A,B
2.从字符串中顺序筛选出数字
3.如果第一个字符是减号变成负数
4.相加
注意:根据题目要求需要定义两个数为long类型
代码
#include<cstdio>
#include<string.h>
int main()
{
int lena, lenb;
char str1[15], str2[15];
while (scanf("%s %s", str1, str2) != -1) {
long a = 0, b = 0;
lena = strlen(str1);
lenb = strlen(str2);
for (int i = 0; i < lena; i++) {
if (str1[i] >= '0' && str1[i] <= '9') {
a = a * 10 + (str1[i] - '0');
}
}
for (int i = 0; i < lenb; i++) {
if (str2[i] >= '0' && str2[i] <= '9') {
b = b * 10 + (str2[i] - '0');
}
}
if (str1[0] == '-')a = -a;
if (str2[0] == '-')b = -b;
printf("%ld\n", a + b);
}
return 0;
}