具有检查整数A是否包含整数B的函数的C程序

时间:2016-03-17 22:34:12

标签: c

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int funkcija(int num, int num2)

{

    int doesContain;



    if (doesContain == 1)
        return 1;
    else
        return 0;


}

int main(void)

{

    int num, num2;

    scanf("%d", num);
    scanf("%d", num2);

    printf("%d", funkcija(num, num2));


    return 0;

}

所以基本上,我需要创建一个取数字1和数字2的函数,检查number2是否在number1中,然后返回0或1。

例如,如果数字1是'2452325678',数字2是'7',则数字1包含数字2,语句为真。但如果num1为'2134'且num2为'5',则该语句为false。

它需要首先完成,没有数组和诸如此类的东西。

我需要任何帮助才能获得算法。

2 个答案:

答案 0 :(得分:0)

int numsub(int haystack, int needle)
{
    for (; haystack; haystack /= 10)
       if (haystack % 10 == needle)
           return 1;
    return 0;
}

答案 1 :(得分:0)

相当简单,通过将数字除以10和每次进行工作 检查currentNumber%10 ==检查的数字。 就这样。 例如:

int i;
int num;
int flag;
int digit;
flag = 1;
num = 1234;
digit = 2;
while(num != 0 && flag)
{
    if(num % 10 == digit)
    {
     flag = 0;
    }
    else
    {
    num = num / 10; 
    }
}
if(flag == 1)
{
    //flag stays set,which means that digit is not inside num
}
else
{
 //flag is not set, which means that digit is indeed a part of num.
}