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 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值