https://pintia.cn/problem-sets/994805342720868352/problems/994805528788582400
1001 A + B格式(20)(20分)
计算a + b并以标准格式输出总和 - 也就是说,数字必须用逗号分隔成三个一组(除非少于四个数字)。
输入
每个输入文件包含一个测试用例。每个案例包含一对整数a和b,其中-1000000 <= a,b <= 1000000.数字用空格分隔。
产量
对于每个测试用例,您应该在一行中输出a和b的总和。总和必须以标准格式书写。
样本输入
-1000000 9
样本输出
-999,991
#include<iostream>
#include<string.h>//strlen的头文件
using namespace std;
int main() {
int a, b, c, size1, size2, j = 0, i = 0, ri = 1;
cin >> a >> b;
c = a + b;
if (c< 1000 && c>-1000) {
cout << c;
}
else {
char s1[10], s2[12], s3;//注意这个s3不要用指针定义为NULL,会报错,不知道为啥
if (c < 0) {
ri = 0;
s3 = '-';
c = -c;
}
sprintf(s1, "%d", c);//core
size1 = strlen(s1);
while (size1 > 0) {
--size1;
++i;
s2[j++] = s1[size1];
if (i % 3 == 0 && size1 != 0) {
s2[j++] = ',';
i = 0;
}
}
s2[j] = 0;
size2 = strlen(s2);
--size2;
i = 0;
while (i < size2) {
swap(s2[i++], s2[size2--]);
}
if (ri)
cout << s2;
else
cout << s3 << s2;
}
}
https://pintia.cn/problem-sets/994805342720868352/problems/994805526272000000
1002
https://blog.csdn.net/qq278672818/article/details/54563738
实在是没看懂题....