小编Abh*_*Ray的帖子

C中的十进制到二进制转换

实现inspect_bits函数,该函数检查给定数字是否在其二进制表示中包含2个或更多连续的.如果是,则该函数应返回1.否则,它应返回0.

例如,inspect_bits(13)应返回1,因为它在其二进制表示(1101)中包含2个连续的1.

该程序适用于某些数字,在这种情况下为13,还有一些,但是,该程序不适用于'8','10'以及其他一些数字.

#include <stdlib.h>
#include <stdio.h>

int inspect_bits(unsigned int number)
{
    int arr[32];
    int i=0,temp,c=0;;

    while(number > 0)
    {
        arr[i] = number%2;
        number = number/2;
        i++;
    }
    for (int j=i-1; j>=0; j--)
    {
        temp = arr[j];
            for (int k=j+1; k>0; k--)
            {
                if (temp==arr[k])
                c++;
            }
    }
    if (c != 0)
        return 1;
    else
        return 0;
}

#ifndef RunTests
int main ()
{
    printf("%d", inspect_bits(13));
}
#endif
Run Code Online (Sandbox Code Playgroud)

c binary search function decimal

1
推荐指数
1
解决办法
81
查看次数

标签 统计

binary ×1

c ×1

decimal ×1

function ×1

search ×1