题目描述:
给定两个整数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
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
long long Trans(string s){
long long tmp=0;
for(int i=0;i<s.length();i++){
if(s[i]=='-'||s[i]==',')
continue;
else
tmp=tmp*10+s[i]-'0';
}
if(s[0]=='-')
tmp=-tmp;
return tmp;
}
int main(){
string s1,s2;
long long a,b;
while(cin>>s1>>s2){
a=Trans(s1);
b=Trans(s2);
cout<<a+b<<endl;
}
return 0;
}
- 要表示的数值可能超出int范围,因此用long long表示
- 使用函数Trans逐个将字符串转为数字,再进行相加。