/*This program can calculate the factorial of (int n).*/
#include
int factorial(int n)
{
return (n == 1)?n:factorial(n-1)*n;//recursion.
}
int main(void)
{
int n,fac;
printf("Please input the value of n:");//initialize n.
scanf("%d",&n);
fac = factorial(n)//variable fac is not necessary.
printf("The result is:%d\n",fac);
return 0;
}
扩展资料:
阶乘是定义在自然数范围里的(大多科学计算器只能计算 0~69 的阶乘),小数科学计算器没有阶乘功能,如 0.5!,0.65!,0.777!都是错误的。但是,有时候我们会将Gamma 函数定义为非整数的阶乘,因为当 x 是正整数 n 的时候,Gamma 函数的值是 n-1 的阶乘。
参考资料来源:百度百科-阶乘
while循环的部分用大括号括起来,循环内从1乘到n,每次结果保存到sum中。
#include
int main()
{
int a,n,sum=1;
scanf("%d",&a);
n=1;
while(a>=n){
sum=sum*n;
n++;
}
printf("sum=%d",sum);
return 0;
}
你那个while循环要做下面两个语句
因此需要用花括号包含下面两个语句