1001 A+B Format (20 分)
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.
Sample Input:
-1000000 9
Sample Output:
-999,991
做这道题的时候测试点四一直不通过,后来发现是没考虑都为零的情况。这时候就不执行while循环。
#include <iostream>
#include <stack>
using namespace std;
int main()
{
stack <int> s;
long int a,b,x;
int bool_1=0;
int j=0,k=0;
cin>>a>>b;
x=a+b;
if(x==0)
{
cout<<x;
return 0;
}
if(x<0)
{
x=x*(-1);
bool_1=1;
}
while(x)
{
s.push(x%10);
x/=10;
j++;
}
while (!s.empty())
{
if(bool_1==1)
{
cout<<'-';
bool_1=0;
}
j--;
cout<<s.top();
s.pop();
if(j%3==0&&j!=0)
cout<<',';
}
return 0;
}