1001. A+B Format解析

正好,现在在刷PAT,遇到的一些问题记录下来和大家分享讨论下。


这个题的坑点在于,给出数的范围在-1000000到1000000之间,在最开始做的时候被样例带着跑了。只考虑了6位数的情况,其实答案是有7位数的情况的。

例如 -1000000+-10 = -1,000,010的。注意到这个应该就不会有大问题了。


附上AC代码。

#include <iostream>

int main() {
	using namespace std;

	int a, b;
	cin >> a >> b;

	int sum = a + b;

	if (sum < 1000 && sum > -1000) {
		cout << sum;
	}

	else if(sum >= 1000000 || sum <= -1000000)
	{
		int l1 = sum / 1000 / 1000;
		//cout << l1 << endl;
		int l2 = sum / 1000 % 1000;
		//cout << l2 << endl;
		int l3 = sum % 1000;
		//cout << l3 << endl;
		if (l2 < 0)
			l2 = -l2;
		if (l3 < 0)
			l3 = -l3;
		printf("%d,%03d,%03d",l1,l2,l3);
	}


	else
	{
		int head = sum % 1000;
		//cout << head << endl;
		int tail = sum / 1000;
		if (head < 0)
			head = -head;
	//	cout << tail << endl;
		printf("%d,%03d", tail, head);
	}

	system("pause");
	
	return 0;
	

}


阅读更多
文章标签: PAT
个人分类: PAT
想对作者说点什么? 我来说一句

A+B Format (20)的JAVA实现

PAT

liuestcjun liuestcjun

2017-03-27 17:41:10

阅读数:360

没有更多推荐了,返回首页

不良信息举报

1001. A+B Format解析

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭