所以,我编写了以下代码,从用户输入的数字倒数到0.我需要帮助我如何获取此代码并将其更改为递归函数。
#include <stdio.h>
int main ()
{
int count;
printf ("Please enter a number: ");
scanf ("%d", &count);
while (count > -1)
{
if (count != 0)
{
printf ("%d \n", count);
}
else
{
printf ("%d\nBlast Off!", count);
}
count--;
}
return 0;
}
答案 0 :(得分:3)
只需获取基本案例,然后使用修改后的参数再次调用它。这样就可以了解
main
答案 1 :(得分:1)
创建一个带有int。
的函数self.display.icursor('end')
完成
答案 2 :(得分:1)
要编写递归函数,您需要一个函数终止的基本情况。
void blastOff(int time)
{
if(time == 0) //Base Case
{
printf ("%d\nBlast Off!", count)
return;
}
else
{
printf ("%d \n", count);
blastOff(time -1);
}
}
答案 3 :(得分:0)
以下所有代码:
#include <stdio.h>
int regressive(int i){
if(i == 0){
printf ("%d\nBlast Off!", i);
return i;
}
else{
printf ("%d \n", i);
return regressive(i-1);
}
}
int main (){
int count;
printf ("Please enter a number: ");
scanf ("%d", &count);
regressive(count);
return 0;
}
答案 4 :(得分:0)
对于根据C标准的初学者,不带参数的函数main
应声明为
int main( void )
由于支持该函数仅在其参数具有负值时才执行某些操作,因此将参数声明为具有类型unsigned int
是合理的。
该功能可以按照以下方式显示,如演示程序中所示。
#include <stdio.h>
void count_down( unsigned int n )
{
printf( "%u\n", n );
n == 0 ? ( void )puts( "Blast Off!" ) : count_down( n - 1 );
}
int main( void )
{
while ( 1 )
{
unsigned int n;
printf ( "Please enter a number (0 - exit): " );
if ( scanf ( "%u", &n ) != 1 || n == 0 ) break;
putchar( '\n' );
count_down( n );
putchar( '\n' );
}
return 0;
}
程序输出可能看起来像
Please enter a number (0 - exit): 10
10
9
8
7
6
5
4
3
2
1
0
Blast Off!
Please enter a number (0 - exit): 5
5
4
3
2
1
0
Blast Off!
Please enter a number (0 - exit): 0
如果您希望示范程序输出值为0,则只需将while循环替换为do-while循环。例如
#include <stdio.h>
void count_down( unsigned int n )
{
printf( "%u\n", n );
n == 0 ? ( void )puts( "Blast Off!" ) : count_down( n - 1 );
}
int main( void )
{
unsigned int n = 0;
do
{
printf ( "Please enter a number (0 - exit): " );
n = 0;
if ( scanf ( "%u", &n ) != 1 ) break;
putchar( '\n' );
count_down( n );
putchar( '\n' );
} while ( n );
return 0;
}
程序输出可能看起来像
Please enter a number (0 - exit): 5
5
4
3
2
1
0
Blast Off!
Please enter a number (0 - exit): 0
0
Blast Off!