1、递归和非递归分别实现求n的阶乘
2、思路:n!=n*(n-1)!
3、程序:
方法一:递归
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int Factorial_fun(int n);
int main()
{
printf("please input number:");
int n,Fac;
scanf("%d", &n);
Fac = Factorial_fun(n);
printf("%d\n", Fac);
system("pause");
return 0;
}
int Factorial_fun(int n)
{
if (n == 1)
{
return 1;
}
return n*Factorial_fun(n - 1);
}
方法二:for循环
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int factorial_fun(int n);
int main()
{
printf("please input number:");
int n, fac=1,i;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
fac = fac*i;
}
printf("%d\n", fac);
system("pause");
return 0;
}
4、结果:
方法一:递归
方法二:for循环