【问题标题】:How do I separate a 2 digit number into individual digits?如何将 2 位数字分隔为单个数字?
【发布时间】:2014-01-30 23:52:42
【问题描述】:

程序提示用户输入 2 位十进制数。用户输入后如何将数字分成两个单独的变量?

稍后我需要使用数字的第一部分和第二部分,因此它们需要位于不同的变量中。

【问题讨论】:

  • 抱歉,在 C++ 中忘记了。
  • 我已经为您添加了标签(并删除了一些无意义的其他标签)。将来,请将该语言添加为标签,以便您的问题清晰,以便搜索功能可以找到它以供将来在该标签中搜索帮助的读者使用。谢谢。

标签: c++ integer digit


【解决方案1】:

首先将数字除以十,您就有了第一个数字。

int i = 99;
int oneNumber = i / 10;

您真的应该尝试自己获得下一个。

【讨论】:

  • 谢谢这个工作,没有意识到你可以使用模块来做到这一点,谢谢。
【解决方案2】:
void split(int input, int& first, int& second) {
   first = input / 10;
   second = input % 10;
}

【讨论】:

    【解决方案3】:

    你可以先将它们读入char cNum[3](最后一个是'\0'),然后

    int firstNumber = cNum[0]-'0';
    int secondNumber = cNum[1]-'0';
    

    【讨论】:

      【解决方案4】:

      假设您有一个字符串,您可以将其拆分为两个字符串并在两个字符串上使用 atoi()...

      char s[2];
      s[1] = 0;
      s[0] = yourstring[0];
      int i1 = atoi(s);
      s[0] = yourstring[1];
      int i2 = atoi(s);
      

      这当然是快速而肮脏的,并且不包括任何错误检查。 但它会为无效字符返回 0...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-10
        • 2017-05-23
        • 2011-02-20
        • 2014-05-07
        相关资源
        最近更新 更多