zoukankan      html  css  js  c++  java
  • 1001.A+B Format (20)

    1001.A+B Format (20)

    GitHub链接

    解题思路

    1. 此题大致上是简单的A+B问题,只是在输出时额外要求以标准数(即每三位数记一个逗号的形式)输出。
    2. 标准数输出,一开始想的是把数字转化为字符串(网上查阅了itoa函数),后来多次尝试发现比较难实现。然后发现题目给的范围是1000000以内,这样一来逗号就只有1个、2个、3个三种情况,将数字大小进行判断,分别输出就可以,不用再转化为字符串。
    3. 总体思路:首先将符号去掉,便于计算。然后分为三种情况,再通过计算得到每个逗号之间的三位数,分别输出即可。

    编码过程中调试

    1. 一开始的难题是如何取出逗号之间的数字,经过多次尝试,找到了方法:
      • 1000以内的数字:直接输出
      • 1000-1000000之间的数字:先将数字除以1000后输出前三位数字,输出一个逗号后,用1000取余输出后三位
      • 1000000以上的数字:现将数字除以1000000后输出前三位数字,输出一个逗号,再将原数字除以1000后再用1000取余,输出中间三位,输出一个逗号,最后将原数字用1000取余即可输出最后三位
    2. 后来调试发现遇到不足三位数的地方,不会自动补上0,苦思无果,网上查阅资料后发现只要在输出时写为“%03d”,就会输出三位数字左端补0的格式(新技能get),之后在该补0的地方补上0就完成了。

    在PAT上的提交记录列表截图

    PAT提交记录

    (提交前测试的数据比较多,一次就过真是感人。)
  • 相关阅读:
    Sql Server 2008卸载后再次安装一直报错
    listbox 报错 Cannot have multiple items selected when the SelectionMode is Single.
    Sql Server 2008修改Sa密码
    学习正则表达式
    Sql Server 查询第30条数据到第40条记录数
    Sql Server 复制表
    Sql 常见面试题
    Sql Server 简单查询 异步服务器更新语句
    jQuery stop()用法以及案例展示
    CSS3打造不断旋转的CD封面
  • 原文地址:https://www.cnblogs.com/zhengshuhao/p/5159031.html
Copyright © 2011-2022 走看看