【C语言】递归计算n的阶乘(编程练习001)

【C语言】递归计算n的阶乘(编程练习001),第1张

迭代和递归 迭代和递归是数值计算中非常常见和多用的方法,循环结构通常可以用循环语句 for, while 等,还可以利用递归调用。

例题:采用递归调用计算 n 的阶乘。

(1)数值计算方法

         当n=0时,阶乘等于0;当n=1时,fac=1;当n≥2时,fac(n)=n*fac(n-1)。

(2)程序设计思路及流程

         输入一个数n,进行判断,若n等于0则阶乘为0,若n等于1则阶乘为1,若n大于等于2,则进入循环fac(n)=n*fac(n-1),最后输出该数的阶乘。

代码如下:

#include"stdio.h"
double fac(double n)
{
	double s;
	if(n>=2)
	{
		s=n*fac(n-1);
	}
	else if(n==1)
	{
		s=1;
	}
	else if(n==0)
	{
		s=0;
	}
	return s;
}

int main()
{
	double s,n;
	scanf("%lf",&n);
	s=fac(n);
	printf("%lf的阶乘为%lf",n,s);
	return 0;
 } 

运行结果:

 over!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/920896.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存