思路有点非主流,主流思路是转化成字符串再处理,但我觉得当数字处理更加方便,不过要注意coner case
#include<iostream>
#include<algorithm>
#include<vector>
#include<iomanip>
using namespace std;
vector<int> ans;
int main(){
int a,b;
cin>>a>>b;
int c=a+b;
if(c<0) {
cout<<"-";
c=-c;
}
if(!c) ans.push_back(0);
while(c){
ans.push_back(c%1000);
c/=1000;
}
int m=ans.size();
for(int i=m-1;i>=0;i--){
if(i!=m-1){
cout<<setfill('0')<<setw(3)<<ans[i];
}else{cout<<ans[i];}
if(i!=0)cout<<",";
}
return 0;
}
if(!c) ans.push_back(0);
while(c){
ans.push_back(c%1000);
c/=1000;
}
$个人建议可以用do-while实现更方便$