zoukankan      html  css  js  c++  java
  • 【PAT】A1001A+B Format

    最新想法:
    最多是七位数,而且只有一组输入,完全不用考虑算法复杂度。
    直接判断是否为负,并输出符号
    巧妙的地方:while循环的下一次再添加逗号。(防止出现,999,991的情况)


    婼姐的方法真的很巧妙,能理解,但是不知道如果是自己该怎样想出那种方法。
    所以仅仅把婼姐的代码当做学习用,还是得自己来实现啊。
    参考了网上很多的博客,真的不好,直接贴代码,思路很差劲的也有。下面这是我觉得最能理解的好方法。
    思路分析:
    1、a=a+b,当a>1000时,用ans[i++]数组存储a%1000的值,a=a/1000;
    2、首先将a带符号输出,若i>0,输出“,”,然后逆向输出”ans[i]’数组,类似地,若i>0,输出“,”。
    注意输出的时候0有可能是三个0;(例如1000)


    代码有点low,强迫自己学习C++中

    #include<iostream>
    #include<vector>
    using namespace std;
    int main() {
        int a,b;
        cin >> a >> b;
        a+=b;
        if(a<0){
            a=-a;
            cout << "-";
        }else if(a==0){
            cout << "0";
            return 0;
        }
        vector<int> ve;
        while(a!=0){
            ve.push_back(a%1000);
            a/=1000;
        }
        for(int i=ve.size()-1;i>=0;i--){
            if(i!=ve.size()-1) printf(",%03d",ve[i]);
            else cout << ve[i];
        }
        return 0;
    }
    
    
    
  • 相关阅读:
    canvas和svg
    表单控件及表单属性
    ajax
    数据结构与算法经典问题解析-Java语言描述
    SpringBoot
    ThreadLocal 原理
    代理模式-结构型
    框架面试
    Hash算法总结
    集合与多线程面试
  • 原文地址:https://www.cnblogs.com/hebust/p/9797444.html
Copyright © 2011-2022 走看看