#include<stdio.h>
#include<math.h>
int main()
{
int a,i=0;
scanf("%d",&a);
int b;
b=floor(a*1.0/2);
while(1)
{
if(b==1)
continue;
else
{
b=floor(a*1.0/2);
i++;
}
}
printf("%d",i+1);
return 0;
}
因为您每次迭代没有修改a的值导致b始终为50,陷入死循环
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
int n = 1;
while (a > 1)
{
a /= 2;
n++;
}
printf("%d", n);
return 0;
}