1、首先打开vc6.0,新建一个vc项目。
2、接下来需要添加头文件。
3、添加main主函数。
4、定义一个用来求阶乘的函数。
5、在main函数定义int类型变量sum。
6、调用fact(),并将返回值赋予sum。
7、使用printf打印sum。
8、运行程序,看看结果。
没错按道理来说是 不满足 条件 (n>1) 时才执行 return 1;
加上 else 程序看起来更清楚。
可是 因为 满足 条件 (n>1) 时执行的是
return (n*fun(n-1));
就已经退出函数了
所以 else 就可以省略了,只有 不满足 条件 (n>1) 时才会执行到 return 1;
思路分析:
n! = n*(n-1)! // n的阶乘可以化为n乘以(n-1) 的阶乘,这就是递归
当n=0或1时,n! = 1 // 这就是递归终止条件
实现算法程序:
double fun(int n) // 递归函数求n的阶乘
{
if(n==0 || n==1) // 递归终止条件
return 1;
else
return n*fun(n-1); // 进行递归运算
}