c++ - 如何检查整数是否包含数字 0 和 1?

标签 c++ if-statement

<分区>

比方说,检查一个 4 位整数。 如何检查它是否包含 0 或 1?

使用数字 1234,它包含 1。因此我不得不拒绝。 使用数字1023,它包含0。因此我不得不拒绝。 但对于数字 2345,它既不包含 0 也不包含 1,因此不会被拒绝。我该如何继续?

我尝试过: 我的整数除以 10, if else 时使用,并在整数中出现数字 0 或 1 时用于 cin.clear 和 cin.ignore。

但它不起作用。

cout << "Enter a positive integer: ";
cin >> number;

int outputcounter =4;
while(outputcounter!=0)
{
    lastDigit=number%10;
    number=number/10;

    while ( number > 1 )
    {

        if ((lastDigit = 1 )|| (lastDigit = 0 ))
        {
            cin.clear ();
            cin.ignore (100, '\n');
        }
        else
        {
            cout << " xx";

        }


    }

啊啊我很抱歉我知道这做得很糟糕。我正在自学(这个月才开始学习),我试过谷歌搜索,但找不到任何解决方案。

最佳答案

转换为字符串将是最简单的解决方案,尽管在计算上不是最有效的:

int number;
...
std::string number_str = std::to_string(number);
if (number_str.find_first_of("01") != std::string::npos) {
    // reject the number
}

关于c++ - 如何检查整数是否包含数字 0 和 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46769678/

相关文章:

c++ RegSetValueEx 在注册表中只设置一个字符值

python - 将临时值分配给循环python中的变量

mysql - 如何在 mysql 查询中根据用户的性别放置 if 语句?

Javascript 不产生所需的输出

c++ - MFC 应用程序中的 MFC Logo

c++ - 从 GCC 得到 "no matching function"

c++ - 仅使用一个指针来初始化数组中的元素?

c# - 我在 if block 中分配了多个在外部引用的变量,但我又添加了两个它们似乎不起作用

r - 如何在组内将第一个值与每个后续值进行比较,直到满足条件

c++ - x86 4 字节 float 与 8 字节 double (与 long long 相比)?