1001 A+B Format

1001 A+B Format (20分)
 

Calculate a+b and output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits).

Input Specification:

Each input file contains one test case. Each case contains a pair of integers a and b where −. The numbers are separated by a space.

Output Specification:

For each test case, you should output the sum of a and b in one line. The sum must be written in the standard format.

Sample Input:

-1000000 9

Sample Output:

-999,991

题解:这里所说的每三个数字中间添加一个‘,’是指从右边的第一个数字开始数,每三个数字添加一个‘,’。有时间的话还是要把那本《C++ prime plus》再看一遍,很多C++的基础语法都忘了=_=

#include<iostream>
using namespace std;

int main() {
    int a, b;

    cin >> a >> b;

    string s = to_string(a+b);
    int len = s.length();

    for (int i = 0; i < len; ++i) {
        cout << s[i];
        
        if (s[i] == '-') continue;

        if ((i + 1) % 3 == len % 3 && i != len - 1)
            cout << ',';
    }

    cout << endl;
    return 0;
}

  


2021-01-28

map() 会根据提供的函数对指定序列做映射。

map(function, iterable, ...)

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。

range(stop)
range(start, stop[, step])
a = str(sum(list(map(int, input().split()))))
count = 0

for i in range(len(a) - 1, 0, -1):
    count += 1
    if count % 3 == 0 and a[i-1] != '-':
        a = a[:i] + ',' + a[i:]

print(a)