1001 A+B Format

这道水题有个巨坑:1000的输出是1,000而不是100,0。因为这个改了一早上代码。

还有一个要注意的是和为0的时候,这个简单。

#include <iostream>
#include <cstring>
#include <string>
#include <sstream>
#include <string>
#include <cstdio>
#include <algorithm>
#include <vector>
#define maxn 100005
#define INF 0x3f3f3f3f
#define EPS 1e-6
#define pi acos(-1.0)
using namespace std;
typedef long long ll;
vector<char> ve;
void fun(int num)
{
    int l=0;
    int cnt=0;
    while(num>0)
    {
        ve.push_back(num%10+'0');
        num=num/10;
        l++;
        cnt++;
        if(cnt%3==0&&num>0)
            ve.push_back(',');
    }
    reverse(ve.begin(),ve.end());
    vector<char>::iterator it;
    for(it=ve.begin();it!=ve.end();it++)
    {
        cout<<*it;
    }
}
int main()
{
    int a,b;
    cin>>a>>b;
    int num=abs(a+b);
    if(num==0)
        cout<<0<<endl;
    else
    {
        if(a+b<0)
            cout<<'-';
        fun(num);
        cout<<endl;
    }
    return 0;
}
View Code

 

posted on 2018-11-26 12:19  FTA_Macro  阅读(186)  评论(0编辑  收藏  举报

导航