• 1003.A+B


    题目描述:
    给定两个整数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
    #include<iostream>
    #include<cstring>
    using namespace std;
    
    int change(string s){
        int num=0,i;
        if(s[0]!='-'){
        if(s.size()<=3) {
            for(i=0;i<s.size();i++){
                num=num*10+(s[i]-'0');
            }
        }
        else if(s.size()<=7){
            int pos=s.find(',');
            for(i=0;i<pos;i++){
                num=num*10+(s[i]-'0');
            }
            num*=1000;
            int num1=0;
            for(i=pos+1;i<s.size();i++){
                num1=num1*10+(s[i]-'0');
            }
            num+=num1;
        }
        else {
            int pos=s.find(',');
            for(i=0;i<pos;i++){
                num=num*10+(s[i]-'0');
            }
            int num1=0,num2=0;
            num*=1000000;
            for(i=pos+1;i<pos+4;i++){
                num1=num1*10+(s[i]-'0');
            }
            for(i=pos+5;i<s.size();i++){
                num2=num2*10+(s[i]-'0');
            }
            num=num+num1*1000+num2;
        }
    }
    else {
            s=s.substr(1,s.size()-1);
            if(s.size()<=3) {
            for(i=0;i<s.size();i++){
                num=num*10+(s[i]-'0');
            }
        }
        else if(s.size()<=7){
            int pos=s.find(',');
            for(i=0;i<pos;i++){
                num=num*10+(s[i]-'0');
            }
            num*=1000;
            int num1=0;
            for(i=pos+1;i<s.size();i++){
                num1=num1*10+(s[i]-'0');
            }
            num+=num1;
        }
        else {
            int pos=s.find(',');
            for(i=0;i<pos;i++){
                num=num*10+(s[i]-'0');
            }
            int num1=0,num2=0;
            num*=1000000;
            for(i=pos+1;i<pos+4;i++){
                num1=num1*10+(s[i]-'0');
            }
            for(i=pos+5;i<s.size();i++){
                num2=num2*10+(s[i]-'0');
            }
            num=num+num1*1000+num2;
        }
        num=0-num;
    }
        return num;
    }
    
    int main(){
        string a,b;
        while(cin>>a>>b){
            int c=change(a)+change(b);
            cout<<c<<endl;
        }
        return 0;
    } 
  • 相关阅读:
    Centos定时执行python脚本
    python 版websocket实现
    Linux Shell脚本实现根据进程名杀死进程
    /bin/bash^M: bad interpreter: 没有那个文件或目录
    python标准日志模块logging的使用方法
    对线程的理解
    Python处理JSON(转)
    div 模糊效果
    C#线程访问winform窗体控件
    iOS开发中添加PrefixHeader.pch要注意的问题
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9736600.html
Copyright © 2020-2023  润新知