题目地址:编程题 - PAT (Advanced Level) Practice (pintia.cn)
介绍
Calculate a+b and output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits).
输入样例
input Specification:
Each input file contains one test case. Each case contains a pair of integers a and b where −106≤a,b≤106. The numbers are separated by a space.
输出样例
Output Specification:
For each test case, you should output the sum of a and b in one line. The sum must be written in the standard format.
代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
void solve() {
ll a,b;
cin>>a>>b;
a=a+b;
int c=0,d=0;
if(a<0)
{
cout<<"-";
}
a=abs(a);
b=a;
/*for(int i=0;;i++)
{
if(b>=1000)
{
b/=1000;
}
}*/
string ssr=to_string(a);
d=ssr.length();
if(d<=3)
{
cout<<a;
}
else
{
a=d%3;
for(c=0;c<=a-1;c++)
{
cout<<ssr[c];
}
for(c=a;c<=ssr.length()-1;c++)
{
if((c-a)%3==0&&c!=0&&c!=ssr.length()-1)
{
cout<<",";
}
cout<<ssr[c];
}
}
}
signed main() {
ios::sync_with_stdio(0);
cout.tie(0);
cin.tie(0);
ll t = 1;
// std::cin >> t;
while (t--) {
solve();
}
}