问题 B: A+B

问题 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

 
 
原文地址:https://www.cnblogs.com/zhhjthing/p/7812798.html