1001.A+B Format (20)

https://github.com/sylviareset/object-oriented

1.解题思路
首先就是先做a+b,要将其结果转换为标准型,要分为两种,一个是数字的个数大于3和数字个数小于3的,小于个数3的数字就可以直接printf,但是要是数字个数大于3的,可以将它看成一个数组,然后按一定的规律在其中插入‘,’,先依次将个十百提取出来,然后若到达4位数时,就加一个‘,’,可以设一个n=1,然后每提取一个数,n就+1,直到n可以被3整除,就插入一个‘,’。但是若把它当作一个数组来看,如果数字是负数,负号也要占一位,所以正数和负数也要分开判断,若是负数,就在前面加上一个-,因为刚刚开始是先提取个位,然后往上,但是打出来的的数是从最高位先开始,所以最后按倒过来的顺序,将所有的数都printf出来。

2.编译过程中遇到的问题及解决方法
(1)刚刚开始做的时候,发现了没有将字符型和整数型相互转化,然后后来+48就可以了
(2)负数和正数在一开始做的时候没有注意到负号的占用,没有将两者分开讨论。

3.

第一次提交的时候,我将if(n%3==0&&s/10!=0) d[i++]=','; 分成两栏写,提交后显示是部分错误,后来我把它们全部归结到一行,就可以了。我也不知道为什么。。。。。。。。

posted on 2016-01-29 18:05  reset-  阅读(155)  评论(1编辑  收藏  举报