PAT Advanced 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 −. 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
三位一组输出a+b的结果。从右至左每三位插入一个逗号,注意最低位右侧和最高位左侧的判断。
#include <iostream> #include <sstream> using namespace std; int main() { int a,b; cin>>a>>b; stringstream ss; ss<<a+b; string ans; ss>>ans; string tans=""; int len=ans.length(),start=0; if(len>1&&ans[0]=='-'){start=1;len--;tans+='-';} for(int i=0;i<len;i++) { if((len-i)%3==0&&i!=len-1&&i!=0) { tans+=','; } tans+=ans[i+start]; } cout<<tans<<endl; return 0; }