实现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)