思路:a+b=sum,sum < 0时先处理负号。然后将sum转换成字符串s,
从s的右边(个位)向左边逐个装入ans里面,cnt记录装入的个数,
cnt为3时装入','符号,并重置cnt为0,最后将ans反转输出。
心得:有更简洁的方法,比如从左往右处理,就不用最后反转了,
但是字符串的位数处理起来不是那么显而易见,可能我脑子
不够灵活吧,效率差不多的情况,我更喜欢思路简单的,
够用就行了。
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
int a, b, sum;
cin >> a >> b;
sum = a + b;
if(sum < 0){
cout << '-';
sum *= -1;
}
string ans, s = to_string(sum);
int cnt = 0;
for(int i = s.size()-1; i >= 0; --i){
if(cnt == 3){
ans += ',';
cnt = 0;
}
ans += s[i];
cnt++;
}
reverse(ans.begin(), ans.end());
cout << ans;
return 0;
}