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.
Sample Input:
-1000000 9
Sample Output:
-999,991
拓展点 :题目中的标准格式是三位分节法,是从右往左,每三位用逗号分开,如果正常从左往右每三位用逗号分开,就会有好几个测试点过不去,如-1000,应该是-1,000。
代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int a,b,sum;
cin>>a>>b;
sum = a+b;
if(sum<0){
cout<<"-";
sum*=-1;
}
string s = to_string(sum);
a =0;
for(int i=s.length()-1; i>=0;i--){
if(a%3==0&&a!=0)s.insert(i+1,",");
if(s[i]=='-'){
a=0;
}else{
a++;
}
}
cout<<s;
}
博客详细解析了PAT甲级编程题1001 A+B的问题,强调了输出需遵循三位分节法,即从右往左每三位用逗号分隔。内容包括输入、输出规格说明,以及样例输入输出,并提醒开发者注意避免将从左往右每三位分隔的错误做法。
761

被折叠的 条评论
为什么被折叠?



