How to check if a int var contains a specific number

前端 未结 3 1063
夕颜
夕颜 2020-12-19 08:15

How to check if a int var contains a specific number

I cant find a solution for this. For example: i need to check if the int 457 contains the numbe

相关标签:
3条回答
  • 2020-12-19 08:43

    Convert it to a string and check if the string contains the character '5'.

    0 讨论(0)
  • 2020-12-19 08:51
    457 % 10 = 7    *
    
    457 / 10 = 45
    
     45 % 10 = 5    *
    
     45 / 10 = 4
    
      4 % 10 = 4    *
    
      4 / 10 = 0    done
    

    Get it?

    Here's a C implementation of the algorithm that my answer implies. It will find any digit in any integer. It is essentially the exact same as Shakti Singh's answer except that it works for negative integers and stops as soon as the digit is found...

    const int NUMBER = 457;         // This can be any integer
    const int DIGIT_TO_FIND = 5;    // This can be any digit
    
    int thisNumber = NUMBER >= 0 ? NUMBER : -NUMBER;    // ?: => Conditional Operator
    int thisDigit;
    
    while (thisNumber != 0)
    {
        thisDigit = thisNumber % 10;    // Always equal to the last digit of thisNumber
        thisNumber = thisNumber / 10;   // Always equal to thisNumber with the last digit
                                        // chopped off, or 0 if thisNumber is less than 10
        if (thisDigit == DIGIT_TO_FIND)
        {
            printf("%d contains digit %d", NUMBER, DIGIT_TO_FIND);
            break;
        }
    }
    
    0 讨论(0)
  • 2020-12-19 08:56
    int i=457, n=0;
    
    while (i>0)
    {
     n=i%10;
     i=i/10;
     if (n == 5)
     {
       printf("5 is there in the number %d",i);
     }
    }
    
    0 讨论(0)
提交回复
热议问题