A1001:A+B Format (20)

Step 1:读清题意,题目要求按类似人民币 000,000,000格式分割数字,分为正数与负数2种情况

Step 2:我的 coding 思路如下:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     int a, b;
 6     cin >> a >> b;
 7     string change=to_string(a+b);   //数字转字符串
 8     int len=change.length();     //字符串长度
 9     while(len>0)          //判断循环完成
10     for(int i=0;i<len;i++) {
11         if(change[0]!='-'&&len-3>0) change.insert(len-3, ","); //非负  插入逗号
12         if(change[0]=='-'&&len-4>0) change.insert(len-3, ","); //为负
13         len-=3;
14     }
15     cout<<change;
16     return 0;
17 }

柳婼思路如下:

 1 #include <iostream>
 2 using namespace std;
 3 int main() {
 4     int a, b;
 5     cin >> a >> b;
 6     string s = to_string(a + b);
 7     int len = s.length();
 8     for (int i = 0; i < len; i++) {
 9         cout << s[i];
10         if (s[i] == '-') continue;
11         if ((i + 1) % 3 == len % 3 && i != len - 1) cout << ",";
12     }
13     return 0;
14 }
原文地址:https://www.cnblogs.com/kamisamalz/p/13066586.html