zoukankan      html  css  js  c++  java
  • 面向对象程序设计第二次作业

    Github地址:https://github.com/tinghaishuo/object-oriented/tree/master/1001.A%2BB Format(20)

    题目:1001. A+B Format (20)

     Calculate a + b and output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than         four digits).
    
    • Input:Each input file contains one test case. Each case contains a pair of integers a and b where -1000000 <= a, b <= 1000000. The numbers are separated by a space.
    • Output:For each test case, you should output the sum of a and b in one line. The sum must be written in the standard format.

    解题思路:

    • 输出须为三组数据由逗号分隔,则需要再定义四个数,一个数为相加后的结果,另外三个数分别表示这三组数据。
    • 本次需要用到循环结构以及需要注意printf的输出格式。
    • 对于循环体的设计,先判断输出是否需要三组数据表示,否则再进一步判断是否需要2组数据表示,若否则可直接输出结果。

    编码过程中调试与上线测试(提交代码)后的bug发现与修改过程

    编码过程的调试

    • 编译并无发现错误,但在运行过程中发现若输出结果为负数时,每一组数据前均会带上一个负号。

    • 根据发现的错误,进行了修改,取绝对值。当和为负数时:若输出是一组数据,则可直接输出;若输出是两组数据,从左往右,第二组数据取绝对值再输出;若输出是三组数据,从左往右第二、三组数据取绝对值再输出。

    • 再次编译运行,发现无误,提交。

    上线测试(提交代码)

    • 第一次:
      评测结果为0分,有点百思不得其解。看了错误,是绝对值的使用错误
      本想在绝对值的问题上进行修改,后转念一想,若先将负号输出,再对剩下的数字进行处理,更加简便。于是重新进行了修改。

    • 第二次:
      第二次测评只有16分,说明仍存在一些细节上的错误。
      于是我重新找了几组数据检测,发现了一个小细节。
      由于自己的粗心大意,导致了这个错误,再次修改。

    • 第三次:
      终于,正确了。

    小结:

    1拿到一个题目后,应该从多方面想解法,不能一股脑想什么就写什么,多思考思考会想到更多更加简便的方法。
    2心思要缜密。在提交前要多拿几组数据测试,避免犯不该犯的错误。
    3发现错误的过程不断进行自我反省自我改正,直到全对。这个过程收益颇丰。才入门技术不足,常常犯许多错误。正视这些错误,多思考,虚心请教同学以及前辈,不断学习,取得进步。

  • 相关阅读:
    面向对象的继承关系体现在数据结构上时,如何表示
    codeforces 584C Marina and Vasya
    codeforces 602A Two Bases
    LA 4329 PingPong
    codeforces 584B Kolya and Tanya
    codeforces 584A Olesya and Rodion
    codeforces 583B Robot's Task
    codeforces 583A Asphalting Roads
    codeforces 581C Developing Skills
    codeforces 581A Vasya the Hipster
  • 原文地址:https://www.cnblogs.com/s38455/p/5166838.html
Copyright © 2011-2022 走看看