这道题难度不大,但是要搞清不同类型之间的转换。废话少说,先上代码
#include<iostream> #include<string> using namespace std; int main(){ string A,B; while(cin>>A>>B){ long num1=0,num2=0; for(int i=0;i<A.length();i++){ if(A[i]>='0' && A[i]<='9'){ num1=num1*10+A[i]-'0'; } } for(int i=0;i<B.length();i++){ if(B[i]>='0' && B[i]<='9'){ num2=num2*10+B[i]-'0'; } } if(A[0]=='-'){ num1=0-num1; } if(B[0]=='-'){ num2=0-num2; } cout<<num1+num2<<endl; } return 0; } /************************************************************** Problem: 1003 User: hg2013211626 Language: C++ Result: Accepted Time:0 ms Memory:1520 kb ****************************************************************/
根据题目要求,每三个数字之间用,分开,所以我这里用字符串输入。在之前我定义了两个long类型的数据,程序第一步便是把string类型转换成long类型。在这里我用一个for循环,依次判断string的每一个字母,如果满足大于0小于9的,便将其转换成数字,具体方法看上面(很巧妙的方法)然后直接计算即可。