PAT-字符串处理-A 1001 A+B Format (20分)

题目:

思路:

  将数字A、B的和转换为字符串,由字符串为和添加逗号,对字符串遍历,寻找合适的位置进行插入

注意点:

  在对字符串的遍历中,不仅要考虑到每三个添加一个逗号,还有考虑到该位置是否符合,如果前面没有数字,则不添加逗号

代码:

 1 #include<iostream>
 2 #include<string>
 3 #include<algorithm>
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     int a, b;
 9 
10     //读入数据
11     scanf("%d %d", &a, &b);
12 
13     //将数字转换为字符串
14     string num = to_string(a + b);
15     int len = num.size();
16 
17     //为字符串添加逗号
18     for (int i = len-1;i >=0;i--)
19     {
20         //获取添加的位置
21         if (!((i - len + 2) % 3))
22             //判断该位置是否有效
23             if(isdigit(num[i-2]))
24                 num.insert(num.begin() + i-1, ',');
25     }
26 
27     cout << num;
28     return 0;
29 }
View Code

 

 

posted @ 2020-03-13 22:50  方知有  阅读(156)  评论(0编辑  收藏  举报