📜  拆分一个数字并将其存储在向量中 - C++ (1)

📅  最后修改于: 2023-12-03 15:39:46.646000             🧑  作者: Mango

拆分一个数字并将其存储在向量中 - C++

本篇介绍如何将一个数字拆分成数字位,并将其存储在一个向量中。对于一个整数 n,其每一位的值可以通过以下方式求得:

  • 个位:n % 10
  • 十位:(n / 10) % 10
  • 百位:(n / 100) % 10
  • ...

因此,我们可以使用循环结构,通过上述方式依次取出每一位数值,并将其存储在一个向量中。

下面给出 C++ 的代码实现:

#include <iostream>
#include <vector>

using namespace std;

vector<int> split_number(int n) {
    vector<int> digits;
    while (n > 0) {
        digits.push_back(n % 10);
        n /= 10;
    }
    return digits;
}

int main() {
    int n;
    cout << "请输入一个整数:";
    cin >> n;

    vector<int> digits = split_number(n);
    cout << n << " 的各个数位分别是:";
    for (int i = digits.size() - 1; i >= 0; i--) {
        cout << digits[i] << " ";
    }
    cout << endl;

    return 0;
}

首先,我们定义了一个 split_number 函数,该函数接受一个整数参数 n,返回一个存储了 n 各个数位的向量 digits。在函数中,我们使用 while 循环不断除以 10 并取余,直到 n0,将所有余数依次加入向量中,最后返回向量。

在主函数中,我们首先读入一个整数 n,然后调用 split_number 函数得到其各个数位,并将其存储在 digits 向量中。最后通过循环遍历向量中的元素,并逆序输出所有数位,即可得到 n 的各个数位。

示例输出:

请输入一个整数:12345
12345 的各个数位分别是:1 2 3 4 5 

到此为止,本篇介绍的如何拆分一个数字并将其存储在向量中的方法就给大家介绍完毕了,希望对大家有所帮助!