1.利用循环来求
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int n = 0;
int i = 0;
int ret = 1;
scanf("%d", &n);
for (i = 1; i<=n; i++)
{
ret = ret * i;
}
printf("%d\n", ret);
return 0;
}
2.利用函数的递归来求
#include<stdio.h>
int Fac(int n)
{
if (n <= 1)
{
return 1;
}
else
{
return n * Fac(n - 1);
}
}
int main()
{
int n = 0;
scanf("%d", &n);
int ret = Fac(n);
printf("%d\n", ret);
return 0;
}
当n=1时,n的阶乘为1;当n>=1时,n的阶乘为n*(n-1)的阶乘,由此利用递归的思想即可求解。