随笔2 PAT1001.A+B Format (20)

1001.A+B Format(20)

题目链接 1001.A+B Format (20)

C++ 代码

第一次使用markdown,还不是很习惯,现在努力的在适应它

首先这道题我们很容易就可以读懂题意,就是简单的a+b,只不过要求我们在输出sum的时候处理一下数字的格式。那么我的做法是这样的:

在读入两个数字之后,求出sum,同时,判断sum符号,如果小于零可以立刻输出一个负号,且执行 sum=abs(sum); ,如果sum的绝对值小于1000,那么我们就直接输出sum,结束程序。否则将sum的每一位数字用一个数组bit存下来,并存下sum的长度sz。

之后我们可以分两种情况讨论:

- 如果sum的长度是3的倍数,即sz%3=0,那么我们就用一个for循环遍历整个bit数组,每输出3个数字,我们就手工输出一个“,”
- 如果sum的长度不是3的倍数,即sz%3!=0,那么我们先输出前 sz%3 长度的部分,并且输出一个空格。比如sum=1234,那么我们就可以先输出 “1” 和 “,” 之后的就和上面一种情况一样,3位3位输出,每3位我们就输出一个“,”。
- 还要记得就是做后一个数字输出了之后,不能加上“,”。比如sum=123,不能输出“123,”

这样做就可以解决这题了,一次ac

posted @ 2016-01-26 23:27  coolaaa  阅读(167)  评论(1编辑  收藏  举报