求助大神C语言递归经典问题
2个回答
展开全部
关于递归问题,最经典的就是:计算一个数的阶乘。如下 C 语言程序:
#include <stdio.h>
int computational_factorial( int ) ; /* 计算阶乘函数原型说明 */
void main( )
{
int result = 0 , num = 0 ;
scanf("%d", &num ) ; /* 输入一个整数 num */
result = computational_factorial(num) ; /* 调用计算阶乘函数,计算 num ! */
printf("result is : %d\n", result) ;
}
int computational_factorial( num )
int num ;
{
if( num == 1 )
return 1 ; /* 若 num == 1,则返回 1 */
else /* 若 num != 1,则递归调用 num * computational_factorial(num-1) */
return ( num * computational_factorial(num-1) ;
}
#include <stdio.h>
int computational_factorial( int ) ; /* 计算阶乘函数原型说明 */
void main( )
{
int result = 0 , num = 0 ;
scanf("%d", &num ) ; /* 输入一个整数 num */
result = computational_factorial(num) ; /* 调用计算阶乘函数,计算 num ! */
printf("result is : %d\n", result) ;
}
int computational_factorial( num )
int num ;
{
if( num == 1 )
return 1 ; /* 若 num == 1,则返回 1 */
else /* 若 num != 1,则递归调用 num * computational_factorial(num-1) */
return ( num * computational_factorial(num-1) ;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询