C语言 递归方法调用函数计算n!
Posted 大号小白兔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 递归方法调用函数计算n!相关的知识,希望对你有一定的参考价值。
#include<stdio.h>
int fun(int n) //定义函数
if(n==0||n==1)
n=1;
else
n=n*fun(n-1); //递归调用函数
int main()
int i,j;
printf("请输入一个数字:\\n");
scanf("%d",&i);
j=fun(i);
printf("它的阶乘为: %d",j);
测试结果:
相比于传统的利用循环计算阶乘:
#include<stdio.h>
int main()
int i=1,n;
int sum=1; //设初值为1,因为0和1的阶乘都为1;
printf("输入一个正的数字:\\n");
scanf("%d",&n);
for(i=1;i<=n;i++) //循环的次数,由输入的n决定
sum=sum*i; //循环计算阶乘
printf("它的阶乘为:%d",sum);
测试:
我们发现调用函数递归计算的运算时间要比循环计算阶乘的时间长。
以上是关于C语言 递归方法调用函数计算n!的主要内容,如果未能解决你的问题,请参考以下文章
计算1!+2!+3!...+(n-1)!+n!。设计求解该问题的C语言程序,阶乘的计算使用递归函数实现