pat甲级1001

来源:互联网 发布:山东职业学院网络 编辑:程序博客网 时间:2024/06/10 02:25


题目主要难在需要输出格式上,需要3位3位的输出,我开始是直接用的循环模1000进行输出,结果是不正确的,因为如果是1000的倍数,比如1000,模1000后输出的是0,而不是000,所以我就先把求到的和转化成string,每3位一输出,就正确了。以下是C++代码:

#include <bits/stdc++.h>using namespace std;int main(int argc, char *argv[]){    long a,b;    cin>>a>>b;    a+=b;    if(a<0)    {        cout<<"-";        a=-a;    }    string s=to_string(a);    vector<string>v;    int i=s.size()-3;    for(;i>0;i-=3)    {        v.push_back(s.substr(i,3));    }    v.push_back(s.substr(0,i+3));    for(i=v.size()-1;i>0;--i)    {        cout<<v[i]<<",";    }    cout<<v[0]<<endl;}

原创粉丝点击