首页 > 其他 > 详细

PAT甲级 1001 A+B Format (20)

时间:2020-06-08 18:15:25      阅读:21      评论:0      收藏:0      [点我收藏+]

技术分享图片

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 }

 

PAT甲级 1001 A+B Format (20)

原文:https://www.cnblogs.com/kamisamalz/p/13066586.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!