题目描述
计算 a+b 并以标准格式输出总和----也就是说,从最低位开始每隔三位数加进一个逗号(千位分隔符),
如果结果少于四位则不需添加。
输入格式
共一行,包含两个整数 a 和 b。
输出格式
共一行,以标准格式输出 a+b 的和。
数据范围
−106≤a,b≤106
输入样例:
-1000000 9
输出样例:
-999,991
算法1
模拟题,主要注意数字和字符串的转换,并且每隔三个数字就要加上一个逗号
但是逗号任意一边只有负号或者是起点 或终点则不必添加逗号
C++ 代码
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int n, m;
int main()
{
cin >> n >> m;
int k = n + m;
string ans;
int flag = 0;
if (k < 0) {flag = 1;k = abs(k);}
else if (k == 0) {cout << 0 << endl;return 0;}
int count = 0;
while (k != 0) {
int tmp = k % 10;k = k / 10;
ans += (char)('0' + tmp);
count++;
if (count % 3 == 0 && k!=0) {ans += ',';}
}
reverse(ans.begin(),ans.end());
if (flag) ans.insert(ans.begin(), '-');
cout << ans << endl;
return 0;
}