Q:
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 -1000000 <= a, b <= 1000000. 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.
Sample Input:
-1000000 9
Sample Output:
-999,991
CODE:
#include <iostream>
#include <cmath>
using namespace std;
/*子函数打印三个数字比如1001%1000 ==1 后打印为001*/
void print_3nums(int nums) {
if (nums == 0)
cout << "000";
else if (nums >= 100)
cout << nums;
else if (nums >= 10)
cout << '0' << nums;
else
cout << "00" << nums;
}
int main()
{
int a, b;
cin >> a >> b;
int sum = a + b;
if (sum < 1000 && sum > -1000)
cout << sum;
else if (sum < 1000000 && sum > -1000000) {
cout << sum / 1000 << ',';
sum = abs(sum % 1000);//abs为取绝对值,包含在cmath头文件
print_3nums(sum);
}
else {
cout << sum / 1000000 << ',';
sum = abs(sum);
print_3nums(sum % 1000000 / 1000);
cout << ',';
print_3nums(sum % 1000);
}
return 0;
}