原理:int s,i,n;输入一个n的值用循环语句for(i=n;i!=0;i--){s=s*i(s初值设为1);}就这么简单,不用什么流程图!
原理 n!=1*2*3*...*n既然没说用递归一个for循环就得了 temp=1;for(i=1;i<=n;i++)
{
temp*=i;
}
可以用递归函数:#include
#include
long digui(int n);
int main()
{
int n;
long dg;
cout<<"输入一个数,求它的乘阶: ";
cin>>n;
dg=digui(n);
cout<<"这个数的乘阶为: "<
}
long digui(int n)
{
long dg;
if(n==1)
{
dg=1;
}
else
{
dg=digui(n-1)*n;
}
return (dg);
}
找哥啊···给你copy一个!
计算公式为:
n!= n×(n-1)×…×3×2×1,且0!=1
在子函数中只需一个数据x,故设一个参数n
计算结果要返回主函数,故设一个变量result
n的阶乘可在一重循环中实现
函数 fac()计算阶乘n!
int fac(int n)
{ int result = 1;
if(n<0) return -1;
else if(n == 0) return 1;
while (n>1)
{ result *= n;
n--;
}
return result;
}