问题 B: A+B
时间限制: 1 Sec 内存限制: 32 MB献花: 173 解决: 128
[献花][花圈][TK题库]
题目描述
给定两个整数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<stdio.h>
#include<string>
#include<iostream>
using namespace std;
int reverse(string a){
int x=0; //需要初始化
if(a[0]=='-'){
for(int i=1;i<a.length();i++){
if(a[i]>='0'&&a[i]<='9'){ //筛选出字符串整数
x=x*10+a[i]-'0'; //转化为int型整数,其中-'0'代表转化
}
}
x = -x;
}else{
for(int j=0;j<a.length();j++){
if(a[j]>='0'&&a[j]<='9'){
x=x*10+a[j]-'0';
}
}
}
return x;
}
int main(){
string a, b;
while(cin>>a>>b){
cout<<reverse(a)+reverse(b)<<endl;
}
return 0;
}
如果要使用string,需要添加头文件#include<string>(注意string.h和string是不一样的头文件),还需要在头文件下面加上using namespace std;
cin和cout在iostream头文件中,而不是stdio.h