例如:5的阶乘是: 5!= 5 * 4 * 3 * 2 * 1 = 120
方法一:递推法
#include <stdio.h>
int main()
{
int n,sum=1;
printf("请输入一个数:\n");
scanf("%d",&n);
printf("%d!=",n);
while(n)
{
sum=sum*n;
//显示部分:如果是最后一个数(1)那么就不显示*//
if(n-1)
printf("%d*",n);
else
printf("%d",n);
n-=1;
}
printf("=%d\n",sum);
return 0;
}
方法二:递归法
#include <stdio.h>
int fun(int num)
{
if(num < 0)
return 0;
if(num == 0 || num == 1)
return 1;
return num * fun(num-1);
}
int main()
{
int num;
scanf("%d",&num);
printf("num的阶乘:%d\n",fun(num));
}