首页 > 代码库 > 题目1003:A+B

题目1003:A+B

题目描述:
给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。
现在请计算A+B的结果,并以正常形式输出。

 

输入:
输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。

 

输出:
请计算A+B的结果,并以正常形式输出,每组数据占一行。

 

样例输入:
-234,567,890 123,456,7891,234 2,345,678
样例输出:
-1111111012346912

 

Code:

#include <iostream>#include <string.h> using namespace std; int func(int x){    int ans=1;    for(int i=1;i<=x;i++){        ans*=10;    }    return ans;} long toLong(char buf[]){    int len=strlen(buf);    int cnt=0;    long ans=0;    int i=len-1;    while(i>=1){        if(buf[i]>=0&&buf[i]<=9){            ans+=(buf[i]-0)*func(cnt);            ++cnt;        }        --i;    }    /*判别是否是负数*/    if(buf[0]==-){        ans=-ans;    }    if(buf[0]>=0&&buf[0]<=9){        ans+=(buf[i]-0)*func(cnt);    }    return ans;} int main(){    char a[15],b[15];    while(cin>>a>>b){        long ans_a=toLong(a);        long ans_b=toLong(b);        cout<<ans_a+ans_b<<endl;    }    return 0;} /**************************************************************    Problem: 1003    User: lcyvino    Language: C++    Result: Accepted    Time:0 ms    Memory:1520 kb****************************************************************/

 

 

 

题目1003:A+B