A+B Format

做法是设置一个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;
}