天天看点

问题 B: A+B

问题 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<bits/stdc++.h>
using namespace std;
int main(){
	char a[15],b[15];
	
	while(scanf("%s %s",a,b)!=EOF){
	
	int i,j,suma=0,sumb=0,flaga=1,flagb=1;
	
	if(a[0]=='-')
		flaga=-1;
	if(b[0]=='-')
		flagb=-1;
		
		for(i=0;i<strlen(a);i++)
		{
			if(a[i]>='0'&&a[i]<='9')
			suma=suma*10+(a[i]-'0');
		}
		suma=flaga*suma;
		for(i=0;i<strlen(b);i++)
		{
			if(b[i]>='0'&&b[i]<='9')
			sumb=sumb*10+(b[i]-'0');
		}	
		sumb=flagb*sumb;
	
	cout<<suma+sumb<<endl;
}
	return 0;
}
           
c++

继续阅读