迭代和递归 迭代和递归是数值计算中非常常见和多用的方法,循环结构通常可以用循环语句 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!
本文介绍了数值计算中的递归和迭代方法,以计算阶乘为例。通过C语言代码展示了如何使用递归函数实现n的阶乘计算。当n等于0时,阶乘为0;n等于1时,阶乘为1;对于n大于等于2的情况,利用递归公式n*fac(n-1)进行计算。程序首先获取用户输入的数值n,然后调用递归函数fac(),最后输出阶乘结果。
4122

被折叠的 条评论
为什么被折叠?



