1473. A + B 格式
计算 $a+b$ 并以标准格式输出总和----也就是说,从最低位开始每隔三位数加进一个逗号(千位分隔符),如果结果少于四位则不需添加。
输入格式
共一行,包含两个整数 $a$ 和 $b$ 。
输出格式
共一行,以标准格式输出 $a+b$ 的和。
数据范围
$-10^6 \le a,b \le10^6$
输入样例:
-1000000 9
输出样例:
-999,991
思路
相加以后转成字符串处理,先字符串逆序,方便处理。然后每三位加个逗号,注意负号和数字的最后一位后面不需要分隔符。
题解
#include <bits/stdc++.h>
using namespace std;
int a, b, sum, len;
string s, res = "";
int main()
{
cin >> a >> b;
sum = a + b;
s = to_string(sum);
len = s.length();
reverse(s.begin(),s.end());
for(int i = 0; i < len; i++)
{
res += s[i];
if(i % 3 == 2 && i != len-1 && s[i+1] != '-')
res += ",";
}
reverse(res.begin(),res.end());
cout << res;
return 0;
}