AC代码:
#include<stdio.h>
#define maxn 105
int a[maxn];
int main(){
int n, temp, i=0;
scanf("%d", &n);
temp = n; //暂存n的值,用于最后输出
if(n == 1){ //判断特殊情况
printf("1");
return 0;
}
do{
if(n%2 == 0){ //n是偶数
n = n / 2;
a[i++] = n;
}
else{ //n是奇数
n = n*3+1;
a[i++] = n;
}
}while(n != 1); //循环条件
for(i=i-1; i>=0; --i){ //逆序输出
printf("%d ", a[i]);
}
printf("%d", temp); //最后输出 n 本身,由于 n 参与运算数值发生改变,所以temp暂存
return 0;
}