#include
int main()
{
float total = 3000;
int days = 0;
while (total > 5.0)
{
total /= 2;
days++;
}
printf("%d天\n", days);
return 0;
}
答案为10天
float i;
int l;
for(i=3000,l=0;i>5;l++)
i=i/2;
printf("%d",l);
就是循环一下就好了。
main()
{
int i=0;
float k=3000.0;
do
{
k=k/2;
i++;
while (k>5.0);
printf("%d\n",i);
}
递归思想。
看楼上的,吧while适当修改成do while,两者的区别仅在于第一次loop时do while一定会执行而while不一定执行。
#include
int main()
{
double s=3000;
int count=0,i=1;
while (i)
{
s=s/2.0;
count++;
if(s<=5)
break;
}
printf("%d",count);
}