#include<stdio.h>
int main()
{
long long int a=0; //如果不初始化为0,当输入数据为987654321时,答案错误
while(~scanf("%ld",&a))
{
printf("%ld\n",a);
int num=0;
while(a!=1)
{
if(a%2==0)
{
a=a/2;
num++;
printf("%ld ",a);
}
else
{
a=3*a+1;
num++;
printf("%ld ",a);
}
}
printf("\n");
printf("%d\n",num);
}
}
某些错误可能是局部变量或者数组未初始化造成的(虽然学习语言时说系统会给默认赋值为0,然鹅不清楚为什么会这样)