本人即将迎来第二次csp考试,准备提前刷刷题,刷题之前看到了之前做的PAT甲级的题目,又重新浏览了一遍,特来记录。
以下是题目:
这里给出本小菜鸡的小代码,如有大佬们有更好的解题思路可以一起讨论丫。
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
int z = a + b;
int tem = abs(z);
int ans[1000];
for (int p = 0; p < 1000; p++) ans[p] = 0;
int i = 0;
while (tem > 0) {
ans[i++] = tem % 10;
tem /= 10;
}
char c[1000];
int k = 0;
int count = 1;
for (int j = 0; j <i; j++) {
c[k++] = ans[j] + 48;
if (count % 3 == 0 && j != i-1) c[k++] = ',';
count++;
}
if (z > 0) {
for (int j = k-1; j >=0; j--) cout << c[j];
}
else if (z < 0) {
cout << "-";
for (int j = k-1; j >=0; j--) cout << c[j];
}
else cout << 0;
return 0;
}