1001 A+B Format (20分)
思路:
1.如果是负的先输出'-',再转换为正数。
2.如果是0,直接输出。
3.以999991为例,先%10,得1,将1存入容器,总数-1(为999990);再%100,得90,除以(100/10),得9,将9存入容器,总数-90(为999900);再%1000,得900,除以(1000/10)得9,将9存入容器,总数-900(为999000)……
4.定义一个变量c初始化为0,每%一次加1,当c!=0 && c%3==0时将一个','放入容器。
1 #include <iostream> 2 #include <vector> 3 using namespace std; 4 int main() 5 { 6 long long int a, b; 7 cin >> a >> b; 8 long long int sum = a + b; 9 vector<long long int> out; 10 if (sum < 0) 11 { 12 cout << '-'; 13 sum = -sum; 14 } 15 long long int mod = 10; 16 int c=0; 17 while (sum*10 >= mod) 18 { 19 if(c!=0 && c %3==0)out.push_back(','); 20 out.push_back(sum % mod / (mod / 10)); 21 sum -= sum % mod; 22 mod *= 10; 23 c++; 24 } 25 if(out.size()==0)cout << sum; 26 else 27 for (int i = out.size()-1; i >= 0; i--) 28 { 29 if(out[i]>=0 && out[i] <=9) 30 cout << out[i]; 31 else 32 cout << char(out[i]); 33 } 34 return 0; 35 }