把sum拆成若干个三位数存储即可,sum的头三位和尾三位需要特殊处理
#include <bits/stdc++.h>
using namespace std;
int a,b,ind=1,t[100][5];
long long sum;
int main()
{
cin >> a >> b;
sum=a+b;
if (sum==0) cout << 0 << endl;
else {
if (sum<0) cout << '-';
while (sum) {
t[ind][1]=abs(sum%1000/100);
t[ind][2]=abs(sum%100/10);
t[ind++][3]=abs(sum%10);
sum/=1000;
}
for (int i=ind-1;i>=1;i--) {
int s=t[i][1]+t[i][2]+t[i][3];
if (s>0&&i==ind-1) {
if (t[i][1]) cout << t[i][1] << t[i][2] << t[i][3];
else if (t[i][2]) cout << t[i][2] << t[i][3];
else if (t[i][3]) cout << t[i][3];
} else cout << t[i][1] << t[i][2] << t[i][3];
if (i>1) cout << ',';
else cout << endl;
}
}
return 0;
}