编写产生一些冰雹的程序,程序应该用函数 void hailstone(int n);计算冰雹并显示由n 产生的序列。

时间:2023-01-07 20:58:15

 

编写产生一些冰雹的程序,程序应该用函数 void hailstone(int n);计算冰雹并显示由n 产生的序列。

编写产生一些冰雹的程序,程序应该用函数 void hailstone(int n);计算冰雹并显示由n 产生的序列。

#include <stdio.h>

//请根据主程序流程,补全此函数
//冰雹产生并输出函数
//注意:输出每个冰雹数时,请按5位对齐输出
int t=1;
void hailstone(int n)
{
int p;
if(t==1){
printf("input a number:Hailstone generated by %d:\n",n);
}

/********** Begin **********/
printf("%5d",n);
if(t%6==0){
printf("\n");
}

if(n==1){
printf("\n");
printf("Number of hailstone generated:%d",t);
return 0;
}
else{
if(n%2==0){
t++;
p=n/2;
hailstone(p);
}
else{
t++;
p=3*n+1;
hailstone(p);
}
}


/********** End **********/

}
int main(){
int n;
scanf("%d",&n);
hailstone(n);
return 0;
}