题目描述
给定两个整数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
//A+B
#include <stdio.h>
#include<stdlib.h>
#include <string.h>
long r[10001];
int main(){
char a[15],b[15]; //存储输入字符
//接收去掉逗号的字符串
int x, y;//最终的数
int p = 0;
while(scanf("%s%s", a,b) != EOF){
//每次循环都要初始化分清初始变量是放在while内还是while外
int s = 0; //c数组下标
int t = 0; //d数组下标
//接收处理输入的字符数组
char c[15] = {0};
char d[15] = {0};
int m = strlen(a);
int n = strlen(b);
for(int i = 0; i < m; i++){
if(a[i] != ','){
c[s] = a[i];
s++;
}
}
for(int i = 0; i < n; i++){
if(b[i] != ','){
d[t] = b[i];
t++;
}
}
x = atoi(c);
y = atoi(d);
r[p] = x + y;
p++;
}
for(int i = 0; i < p; i++){
printf("%ld\n",r[i]);
}
return 0;
}
这个题目主要解决的问题就是把输入的逗号去掉,将转存后的字符串存入新的字符数组内然后使用atoi()将数字字符串转换为整型
使用一个数组r[p]保存最后结果,并输出。(此前考虑过int型边界溢出问题查看int数据范围再结合题目要求发现不会溢出,故r[p]也可使用int型)。不足之处大家多多交流