PAT 1001 A+B 解题报告


PAT 1001 A+B


  • 题目链接:传送门

  • 题目简述:

    • 给定两个值a,b;
    • 范围-1000000 <= a, b <= 1000000;
    • 按指定格式输出a+b的结果,例:-99,991;
  • 解题思路:

    • 一、明确范围

      • a+b在正负两百万内;
      • int够用,不用高精度;
    • 二、明确格式

      • 三位一起;
      • 视最后采取的代码写法注意可能需要补零;
      • 负号可以提前判定,相当于只要考虑正数;
    • 三、采取措施:

      • 计算a+b的结果c,处理掉负号;
      • 按c按1000进制将结果存储在数组中;
      • 输出最高位;
      • 剩下的每位:输出一个 “,” 号,再输出该位(补零)
    • 四、潜在问题:

      • 视代码的具体实现方式可能在处理0的时候会出问题;
      • 对应措施:打完代码特别观察一下0的情况,并手测数据即可;
    • 五、提交后仍存在的bug

      • 无;
  • 源代码:

        #include <cstdio>
        int  a,b,l,ans[10];
        int  main( )
        {
            for (scanf("%d%d",&a,&b); a+b<0; printf("-")) a=-a,b=-b;
            for (a+=b,l=a==0; a; a/=1000) ans[++l]=a%1000;
            for (printf("%d",ans[l]); --l; ) printf(",%03d",ans[l]);
        }
    
  • 提交记录截图


附:该页Markdown源码

# PAT 1001 A+B


- ### 代码链接:[传送门][2]


----


- ### 题目链接:[传送门][1]


- ### 题目简述:

    - 给定两个值a,b;
    - 范围-1000000 <= a, b <= 1000000;
    - 按指定格式输出a+b的结果,例:-99,991;


- ### 解题思路:

    - 一、明确范围
        - a+b在正负两百万内;
        - int够用,不用高精度;

    - 二、明确格式
        - 三位一起;
        - 视最后采取的代码写法注意可能需要补零;
        - 负号可以提前判定,相当于只要考虑正数;

    - 三、采取措施:
        - 计算a+b的结果c,处理掉负号;
        - 按c按1000进制将结果存储在数组中;
        - 输出最高位;
        - 剩下的每位:输出一个 “,” 号,再输出该位(补零)

    - 四、潜在问题:
        - 视代码的具体实现方式可能在处理0的时候会出问题;
        - 对应措施:打完代码特别观察一下0的情况,并手测数据即可;

    - 五、提交后仍存在的bug
        - 无;


- ### 源代码:
      #include <cstdio>
      int  a,b,l,ans[10];
      int  main( )
      {
          for (scanf("%d%d",&a,&b); a+b<0; printf("-")) a=-a,b=-b;
          for (a+=b,l=a==0; a; a/=1000) ans[++l]=a%1000;
          for (printf("%d",ans[l]); --l; ) printf(",%03d",ans[l]);
      }


- ### 提交记录截图

 ![](http://images2015.cnblogs.com/blog/871469/201601/871469-20160127113540879-1571266197.png)


[1]: http://www.patest.cn/contests/pat-a-practise/1001
[2]: https://github.com/TheSkyFucker/object-oriented/tree/master/1001


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM