1001 A+B Format (20 分)
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
#include<iostream> #include<cstring> #include<string> #include<vector> #include<bits/stdc++.h> using namespace std; typedef long long ll; int main(){ ll a,b; cin >> a >> b; ll c = a+b; if(c == 0){cout << 0;return 0;} if(c<0){ cout << "-"; c = -c; } vector<int> vec; int cnt = 0; while(c){ if(cnt%3 == 0)vec.push_back(-1); vec.push_back(c%10); c = c/10; cnt++; } for(int i=vec.size()-1;i>0;i--){ if(vec[i]==-1)cout << ","; else cout << vec[i]; } // for(auto num:vec) cout << num << " "; return 0; }
都用leetcode风格写,nice!
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main(){ ll a,b; cin >> a >> b; ll c = a+b; if(c < 0){ cout << "-"; c = -c; } string s = to_string(c); int len = s.length(); cout << s[0]; for(int i=1;i < len;i++){ if((len-i)%3 == 0){ cout << ","; } cout << s[i]; } return 0; }