【问题标题】:How do I assign the digits of int to array c++如何将 int 的数字分配给数组 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;
    }

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

【问题讨论】:

  • 哇!一个措辞恰当、格式正确的问题。做得好!很少有新用户提出这么好的问题!

标签: c++ visual-studio c++11


【解决方案1】:

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

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

【讨论】:

  • 哇哦。我可能应该在假设之前先查一下。哈!好的谢谢
猜你喜欢
  • 2021-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-18
  • 2019-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多