【C语言】利用递归函数求n的阶乘

递归实现n的阶乘

    什么是阶乘:0!= 1,n!=n * (n - 1) * (n - 2)......3 * 2 * 1;

解题思路: 1> 分析题意,很明显0是递归出口;
                     2> 很好看出,递归调用自己,直到n等于0,返回之前的函数,直到最后一个;
                     3> 一个简单n的阶乘就计算完成,返回并输出。
代码:

#include<stdio.h> int f(int n)/*递归函数*/ { int fac; if (n < 0) printf("n<0,data error!"); else if (n == 0 || n == 1) fac = 1; else fac = f(n - 1) * n; return fac; } int main() { int n, y; printf("请输入一个整数:\n"); scanf_s("%d", &n); y = f(n); printf("%d!=%d", n, y); return 0; }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpgfs.html