将数字转换为数字数组

Converting a number into an array of digits

我在将数字转换为数字数组时遇到了一点问题。

#include <iostream>

using namespace std;

int main()
{
    int a[11];
    int number;
    cin >> number;
    for (int i = 10; i >= 0; i--)
    {
        a[i] =  number%10;
        number = number/10;
    }
for (int i = 0; i < 11; i++)
        cout << a[i];
cout << endl;
} 

我得到的不是我输入的数字,而是一些随机数字。当我输入的数字小于或等于 9 位时,不会出现此问题。

我会建议初始化数组(这是一个很好的做法)做一些事情:

int a[11] = {-1};

如果您在打印数组的每个元素后添加一个换行符,那么它将变得有意义且更易于阅读...

您的代码实际上按预期工作

#include <iostream>

using namespace std;

int main()
{
    int a[11] = {-1};
    int number;
    cin >> number;
    for (int i = 10; i >= 0; i--)
    {

        a[i] = number % 10;
        number = number / 10;
    }
    for (int i = 0; i < 11; i++)
        cout <<"@[" <<i<<"]: "<< a[i] <<endl;
    cin.get();
}

对于像 432

这样的输入

你得到输出: