码迷,mamicode.com
首页 > 其他好文 > 详细

题目1003:A+B

时间:2016-03-26 17:22:37      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

这道题难度不大,但是要搞清不同类型之间的转换。废话少说,先上代码

#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的,便将其转换成数字,具体方法看上面(很巧妙的方法)然后直接计算即可。

题目1003:A+B

标签:

原文地址:http://www.cnblogs.com/huanggen/p/5323293.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!