分析:
for循环非常适合进行明确知道重复次数的循环,然而本例中并不能很明确地知道到底应该循环几次,所以也可以使用while循环解决,代码如下:
#include <bits/stdc++.h>
using namespace std;
int main(){
int a,days=1;
cin>>a;
while(a>1)
a/=2,days++;
cout<<days;
}
这里循环体虽然是两个操作,但是使用了逗号表达式,将两个不同的表达式写在了一起,变成了一条语句,这样就可以不需要加花括号了。一次次循环后,a会越来越小,知道a变为0时,循环成立条件不再成立,跳出循环。