三个if语句后面需要执行的语句都是两句,都需要用大括号括起来。
if(n%2==1&&n!=1) {n=3*n+1; continue;}//添加大括号
if(n%2==0) {n=n/2; continue;}//添加大括号
if(n==1) {printf("%d",a); break; }//添加大括号
修改后就没有问题了。不过,这个程序比较繁琐,提供一个程序:
#include
int main(){
int i,n;
scanf("%d",&n);
for(i=0;n-1;i++)
n=(n%2?n*3+1:n/2);
printf("%d",i);
return 0;
}