c语言求n的阶乘

用递归和循环的方法:实现求n的阶乘

区别:用递归求阶乘不用创建临时变量,且相对来说,代码比较简单。
   用循环求阶乘需要创建两个变量,代码也比较简单,各有利弊。

#include
#include

int jiechen(int n)//递归求阶乘
{
	if (n == 1)
	{
		return 1;
	} 
	return n * jiechen(n - 1);
}

int jiechen_xun(int n)//循环求阶乘
{
	int ret = 1;
	for (int i = 1; i <= n; ++i)
	{
		ret = ret * i;
	}
	return ret;
}

int main()
{
	printf("%d\n", jiechen(10));
	printf("%d\n", jiechen_xun(10));

	system("pause");
	return 0;
}

附上运行结果:
c语言求n的阶乘_第1张图片
该结果是10的阶乘。如果要求n的阶乘,只要在main()函数中添加输入函数就行了
scanf("%d",&n);这个不是重点就不写了,主要是两个函数中的内容。

你可能感兴趣的:(C语言基础)