PAT甲级 1001. A+B Format (20) 题目翻译与答案

题目来源自PAT网站  https://www.patest.cn/

题目描述:

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
#include
#include
#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 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;
}


你可能感兴趣的:(PAT甲级)