将数字转换为数字数组

时间:2017-06-08 11:42:24

标签: arrays loops integer modulo

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

#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位时,不会发生此问题。

1 个答案:

答案 0 :(得分:0)

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

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

你得到了输出:

enter image description here