1.用递归的方法;
思路:先写一个main的主函数 → 创建一个关于阶乘的函数(这里我用了pow) → 当n<=1时,结果就是1;除此之外,n!=n*(n-1)!=n*(n-1)*(n-2)!,以此类推
int main()
{
int n = 0;
scanf("%d", &n);
int ret = pow(n);
printf("%d\n", ret);
return 0;
}
int pow(int n)
{
if (n<=1)
return 1;
else
return n*pow(n-1);
}
2.非递归的方法;
//非递归求阶乘
int main()
{
int n;
int ret = 1;
scanf("%d", &n);
for (int i = 1; i <= n; i++)
//遍历所有的数
{
ret = ret * i;
}
printf("%d", ret);
return 0;
}