时间限制:1 秒内存限制:32 兆特殊判题:否提交:18942解决:7801 题目描述: 给定两个整数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 来源: 2010年浙江大学计算机及软件工程研究生机试真题 答疑: 解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-7727-1-1.html
#include<iostream> #include <cstring> #include<cmath> using namespace std; int main() { string str1,str2; int a,b; while(cin>>str1>>str2) { int count=0; long long n1=0;//注意不同类型数的取值范围 long long n2=0; a=str1.size(); b=str2.size(); for(int i=a-1;i>=0;i--)//把第一个字符串转换成数值 { if(str1[i]==',') continue; else if(str1[i]!='-') { n1+=(str1[i]-'0')*pow(10,count); ++count; } else n1=-n1; } int count1=0; for(int i=b-1;i>=0;i--) { if(str2[i]==',') continue; else if(str2[i]!='-') { n2+=(str2[i]-'0')*pow(10,count1); ++count1; } else n2=-n2; } cout<<n1+n2<<endl; } return 0; }