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).
Input Specification:
Each input file contains one test case. Each case contains a pair of integers a and b where −106≤a,b≤106. The numbers are separated by a space.
Output Specification:
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.
代码如下:
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
vector<int> res;
string r;
int a,b;
cin>>a;
cin>>b;
int s = a + b;
if(s == 0)
{
cout<<0<<endl;
return 0;
}
bool flag = false;
if(s < 0)
{
flag = true;
s = -s;
}
while(s > 0)
{
int t = s%10;
res.emplace_back(t);
s /= 10;
}
int cnt = 0;
for(int i=0;i<res.size();i++)
{
r += to_string(res[i]);
cnt++;
if(cnt%3 == 0)
r += ',';
}
if(r[r.size()-1] == ',')
r.erase(r.size()-1,1);
if(flag)
r += '-';
reverse(r.begin(),r.end());
for(auto i:r)
{
cout<<i;
}
return 0;
}