想要去试试PAT,在这里分享一下我的解题过程,代码都是用C++写的,还在学,如果有什么不对的或者错误,欢迎大家批评指正,谢谢!
题目:A+B Format
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).
计算a+b,用标准格式输出和,数字必须用逗号以三个为一组分割,除非数字个数少于4个
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.
每个输入文件包含一个测试用例,每个用例包含两个整型a和b,a和b大于等于-1000000,小于等于1000000,数字用空格区分
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.
对于每一个测试用例,你应该在一行中输出a和b的总和,和必须用标准格式书写
Sample Input(输入样例)
-1000000 9
Sample Output(输出样例)
-999,991
要求
时间限制:400 ms
内存限制:65536 kB
代码长度限制:16000 B
题目理解
限定了a和b的范围,然后对a,b进行求和操作,然后用固定的标注格式输出,这种格式为,三个一组,在每组之间添加逗号,比如,100000=100,000。
我的解题思路
根据a和b的范围,变量声明为long,然后设置一个is_positive作为正负的判断,设置一个flag作为标志位,设置一个数组。把和sum的每一位转化为字符取出来,然后存到数组里面,期间用flag计数,如果为3个了那就加逗号,以此用for循环遍历,最后再用for循环输出就行。
代码示例:C++
运行结果:
大家一起努力咯!