c++中那个求一个整数的各个数位上的数字,比如将123,分成1,2,3怎么编程序?求能人解答。

如题所述

用模%和除就可以完成。

123 模10 得到3,除10变成12

12 模10 得到2,除10变成1

1 模10 得到1,除10变成0,结束。

// 输入正整数,返回它没个数位上的数字
// 比如12345,返回[5,4,3,2,1]
vector<int> getDigits(int num) {
    if (num < 0) {
        num = -num;
    }
    vector<int> digits;
    while(num != 0) {
        digits.push_back(num % 10);
        num /= 10;
    }
    // 数字12345会返回[5,4,3,2,1]
    // 如果需要返回[1,2,3,4,5],可以#include <algorithm>然后调用:
    // std::reverse(digits.begin(), digites.end());
    return digits;
}

温馨提示:答案为网友推荐,仅供参考