题目1003:A+B(字符串转数字)

问题来源

  http://ac.jobdu.com/problem.php?pid=1003

问题描述

  每次给你两个数,数的形式是每三位有一个间隔符',',计算两数之和。

问题分析

两个问题,一、如何读入?我们可以先用字符串读入,再作处理。第二、如何处理?我们可以对字符串逐一处理,转化成数字,把间隔符忽略就可以了。

坑点:负数问题,开头注意判断是否是负数,可以用bool保存下来最后处理。

参考代码

//
// Created by AlvinZH on 2017/4/24.
// Copyright (c) AlvinZH. All rights reserved.
//

#include <iostream>
using namespace std;

int main()
{
    string s1,s2;
    long long n1,n2;
    while(cin>>s1>>s2)
    {
        n1=0;n2=0;
        for(int i=0;i<s1.length();i++)
            if(s1[i]!=','&&s1[i]!='-')
                n1=n1*10+s1[i]-48;
        if(s1[0]=='-') n1=-n1;
        for(int i=0;i<s2.length();i++)
            if(s2[i]!=','&&s2[i]!='-')
                n2=n2*10+s2[i]-48;
        if(s2[0]=='-') n2=-n2;
        cout<<n1+n2<<endl;
    }
}

作者: AlvinZH

出处: http://www.cnblogs.com/AlvinZH/

本人Github:https://github.com/Pacsiy/JobDu

本文版权归作者AlvinZH和博客园所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

原文地址:https://www.cnblogs.com/AlvinZH/p/6759763.html