题目描述:

1001. A+B Format (20)

Calculate a + b andoutput the sum in standard format -- that is, the digits must be separated intogroups of three by commas (unless there are less than four digits).

Input

Each input file containsone test case. Each case contains a pair of integers a and b where -1000000<= a, b <= 1000000. The numbers are separated by a space.

Output

For each test case,you should output the sum of a and b in one line. The sum must be written inthe standard format.

SampleInput

-1000000 9

SampleOutput

-999,991

时间限制

400 ms

内存限制

65536 kB

代码长度限制

16000 B

判题程序

Standard

作者

CHEN, Yue

 

题目翻译:

 

1001.A+B的标准格式

计算a+b,然后以标准格式输出。标准格式是指数字必须被分成三个一组,用逗号分隔(除非少于4个数字)。

 

输入

每个输入文件包含一个测试实例。每个实例包含一对整数a与b,a与b的范围是:-1000000 <= a, b <= 1000000。数字用空格隔开。

 

输出

对于每个测试实例,你需要在一行内输出a与b的和。和必须以标准格式输出。

样例输入

-1000000 9

 

样例输出

-999,991

 

答案代码:


#include<cstdio>
#include<queue>
#include<stack>
#define QWERTY
using namespace std;
int main()
{
long a,b,sum;
scanf("%ld%ld",&a,&b);
sum=a+b;
long st=sum;
int i=0,c1,c2;

if(st<1000&&st>-1000)
{
printf("%ld\n",st);
return 0;
}
if(st<0)
{
printf("-");
st=-st;
}
stack<int> sta;
while(st>0)
{
i++;
sta.push(st%10);
st=st/10;
}
#ifdef QWERTY
while(!sta.empty())
{
i--;
printf("%d",sta.top());
if(i!=0&&i%3==0)
printf(",");
sta.pop();

}
#endif
printf("\n");
return 0;
}