#鹏哥C语言#P48
方法一:递归
#include<stdio.h>
int fac(int n)
{
if(n<=1)
return 1;
else
return n*fac(n-1);
}
int main()
{
int n=0;
printf("请输入n的值:");
scanf("%d",&n);
int ret=fac(n);
printf("ret=%d\n",ret);
return 0;
}
方法二:迭代-非递归
#include<stdio.h>
int fac(int n)
{
int ret=1;
int i=1;
for(i=1;i<=n;i++)
{
ret*=i;
}
return ret;
}
int main()
{
int n=0;
printf("请输入n的值:");
scanf("%d",&n);
int ret=fac(n);
printf("ret=%d\n",ret);
return 0;
}
运行结果展示: