如何将 int 的数字分配给数组 c++

Posted

技术标签:

【中文标题】如何将 int 的数字分配给数组 c++【英文标题】:How do I assign the digits of int to array c++ 【发布时间】:2017-04-14 04:25:44 【问题描述】:

请耐心等待,我是新手。

我想要做的是将用户输入的内容分成数字到一个数组中,例如:

    int digits[10] = 0   //initialize
    int input = 12345;     // length was defined earlier, and in this case is "5"

    for (unsigned int i = 1; i <= length; i++) 

        digits[i - 1] = (input / (10 ^ (i - 1))) % 10;      // supposed to seperate digits in reverse order
                                                            // 12345 --> digits[] -->  5, 4, 3, 2, 1 
                                                            // currently not working
    

我正在测试它以确保我做对了,并将数组打印到屏幕上,但我回来了:11234

我尝试了不同的数字,例如,22222 打印出来:79702

打印数组的代码:

        for (int k = length - 1; k >= 0; k--) 
            cout << digits[k] << endl;
    

我知道我遗漏了一些东西,但在此先感谢

【问题讨论】:

哇!一个措辞恰当、格式正确的问题。做得好!很少有新用户提出这么好的问题! 【参考方案1】:

你的数学完全正确,但你犯了一个非常合理的语法错误。

C++ 中的^ 运算符是bitwise xor,而不是求幂。你会想要使用std::pow(base, exponent)

【讨论】:

哇哦。我可能应该在假设之前先查一下。哈!好的谢谢

以上是关于如何将 int 的数字分配给数组 c++的主要内容,如果未能解决你的问题,请参考以下文章

c ++动态指针数组[重复]

如何在 C++ 中将数字字符串转换为 int 数组 [重复]

如何将一个巨大的头部分配数组设置为特定的浮点数 C++

如何在 C++ 中动态分配数组

c++中用new给未知大小的数组分配空间怎么弄?

如何将多维数组传递给 C 和 C++ 中的函数