[PAT Advanced Level] 1001 A+B Format
题目
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
−
1
0
6
≤
a
,
b
≤
1
0
6
−10^{6 }\leq a,b\leq10^6
−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.
计算a+b的值,每隔三位输出‘,’
示例
输入:-1000000 9
输出:-999,991
题解
寻找字符串长度与需要加“,”位置的关系,满足(i+1)%3==len%3
if(s[i]==’-’)continue,continue很关键,不然可能会在‘-’后输出一个‘,’
#include<iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
string s=to_string(a+b);
int len=s.length();
for(int i=0;i<len;i++)
{
cout<<s[i];
if(s[i]=='-')continue;
if((i+1)%3==len%3&&i!=len-1)cout<<",";
}
return 0;
}