1001.A+B Format (20)(思路,bug发现及其修改,提交记录)

https://github.com/031502316a/object-oriented/tree/master/1001

---恢复内容开始---

###1、解题思路 * 一开始见到题目时,感觉难的就是输出的格式。 * 见到这种中间插入其他东西的时候,第一个想到的就是字符串。 * 但是由于字符串运用不好,所以想了会觉得难弄,就放弃了这个想法。 * 于是一开始打了串代码,大致的想法就是,加完后判断,如果小于1000,就直接输出,如果是在1000到1000000之间的话,那就取相加数的后3位(通过取余数的方式),再除以1000(得到前面的几位数),输出前面几位数,然后加上逗号,再输出取余的数。如果是其他的,也就是大于1000000,同理做出。 * 运行后发现,如例子中(-1000000 9输出结果变成-999,-991),是因为如果是负数的话,取余后面那个还是负数,所以我在输出的前面再判断取余后的数是否为符号,是的话取其相反值。 * 再运行后发现题目中所给的例子是可行了,可是如果是1000000+1000000就出现问题了,输出结果为2,0,0。因为取余的话如果是000,就默认成0了。 * 于是就在输出的时候加上%03d,然后就可以了。

2、编码过程中调试与上线测试(提交代码)后的bug发现与修改过程(其实提交只提交一次,发现bug是在自己找例子试时发现的。)

  • 负号没有考虑,(在输出的前面再判断取余后的数是否为符号,是的话取其相反值)。
  • 没考虑到要是取余数的话,如000,就会变成0,不会保留另外两个0,(输出的时候加上%03d)。

3、PAT上的提交记录列表截图

---恢复内容结束---

原文地址:https://www.cnblogs.com/zxlmhh/p/5162692.html