做法是设置一个char栈,每塞进去3个数字,就加一个逗号。 注意点:负号,0 其他的没有什么问题了,不要忘记0的判断。
#include <iostream>
#include <stack>
using namespace std;
//1的第二种做法
stack<char>q;
void getstack(int sum){
int a=0;
while(sum){
a++;
q.push(abs(sum%10)+'0');
sum/=10;
if(sum&&a==3){
q.push(',');
a=0;
}
}
}
int main(){
int x,y;
cin>>x>>y;
int sum=x+y;
getstack(sum);
int a=0;
if(sum<0)cout<<'-';
if(sum==0){
cout<<0<<endl;
return 0;
}
//if(sum<0)printf('-');
while(!q.empty()){
a++;
cout<<q.top();
q.pop();
}
return 0;
}