codeup入门模拟 --问题 B: A+B
题目描述
给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。
现在请计算A+B的结果,并以正常形式输出。
输入
输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。
输出
请计算A+B的结果,并以正常形式输出,每组数据占一行。
样例输入 Copy
-234,567,890 123,456,789
1,234 2,345,678
样例输出 Copy
-111111101
2346912
#include<stdio.h>
#include<string.h>
int main(){
int m,n;
char a[20],b[20];
char A[10],B[10];
while(scanf("%s%s",&a,&b)!=EOF){
//将a转换成数字,思想:提取数字转化为只有数字的字符串,注意最后加上'\0'作为分界线,再利用sscanf去转化为int数字
int x=strlen(a);
int j=0;
for(int i=0;i<x;i++){
if(a[i]>='0'&&a[i]<='9'){
A[j]=a[i];
j++;
}
}
A[j]='\0';
//将A数组里的char类型换成int类型
sscanf(A,"%d",&m);
if(a[0]=='-') m=-m;
int y=strlen(b);
int k=0;
for(int i=0;i<y;i++){
if(b[i]>='0'&&b[i]<='9'){
B[k]=b[i];
k++;
}
}
B[k]='\0';
//将A数组里的char类型换成int类型
sscanf(B,"%d",&n);
if(b[0]=='-') n=-n;
printf("%d\n",m+n);
}
}