1001 A+B Format

题目要求:
计算A+B的和,以每三位一个”,”的格式输出。
用s数组记录每3位的数字,然后按照格式输出。

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <bits/stdc++.h>
using namespace std;

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


-1000000 9
-999,991

还有个留着参考:
#include <iostream>
using namespace std;

int main() {
int a, b;
cin >> a >> b;
string s = to_string(a + b);
int len = s.length();
for (int i = 0; i < len; i++) {
cout << s[i];
if (s[i] == '-') continue;
if ((i + 1) % 3 == len % 3 && i != len - 1) cout << ",";
}
return 0;
}