编写一个C程序,其中包含一个名为half的递归函数。该函数有一个整数输入参数。该函数将继续用整数除法将数字除以2,直到值为1。从最小到最大打印出每个递归调用的值。该函数具有以下原型:
void half(整数值);
我设法写出了函数,但数字开始从最大值到最小值打印。
void half(int value){
if(value>1){
printf("%d\n", value);
half(value/2);
return;
}else{
printf("1");
}
}
this was my function so far.
1条答案
按热度按时间slhcrj9b1#
只需将对
half
的递归调用移到printf
之前,以便从最小到最大打印。您也可以删除
else
分支。输出量: