PAT 1001 A+B Format

题意:把a和b相加,按要求格式输出。(每3个数用逗号隔开)

PS:
sum的绝对值最大为2000000
输出的格式就是西方表示数字的方法。千位和百万为。
可以用千分制来理解。
稍微容易马虎的在代码中e++和–e还有e–的区别。
把最后输出的部分拿出来,会有一个数据段错误。因为没具体数字,不知为何。

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
using namespace std;

int main() {
int a, b;
cin >> a >> b;
int sum;
sum = a + b;
if (sum == 0) { printf("0"); }
else {
if (sum < 0) {
printf("-");
sum = -sum;
}
int s[100], e = 0;
while (sum) {
s[e++] = sum % 1000;
sum = sum / 1000;
}
printf("%d", s[--e]);
while (e--) {
printf(",%03d", s[e]);
}
}
cout << endl;
return 0;
}