首页 > 其他 > 详细

PAT 1001 A+B Format

时间:2021-04-06 20:59:36      阅读:40      评论:0      收藏:0      [点我收藏+]

问题:给定A、B(-106<=A、B<=106),计算A+B,并且将结果按指定形式输出。要求的格式是从后往前每三位加一个逗号,以符合西方的数字格式。

输入范例:-1000000、9

输出:-999,991

解决方案:首先读入A、B,然后计算A和B的和,再将二者的和转换成string类型,最后从后往前每三位(用到了string类的函数length())加一个逗号输出即可,唯一需要注意的就是计算结果为负数的情况,这时不能把负号看作是一位。

C++代码:

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 
 5 int main() {
 6     int a, b, c;
 7     string ch;
 8     cin >> a >> b;    //读入A、B
 9     c = a + b;        //计算结果
10     ch = std::to_string(c);        //使用to_string()函数将int型变量转变成string类型
11     if (c / 1000 == 0)
12         cout << c << endl;        //计算结果小于四位,直接输出
13     else {
14         ch.insert(ch.length() - 3, ",");
15         if(ch.length() > 7 && c > 0 || ch.length() > 8)        //考虑到负号,这里需要分正负两种情况
16             ch.insert(ch.length() - 7, ",");
17         cout << ch << endl;        //输出结果
18     }
19     return 0;
20 }

 

PAT 1001 A+B Format

原文:https://www.cnblogs.com/TonyMD/p/14623372.html

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