c++编写一个求阶乘n!的函数

需要原理和流程图。。。... 需要原理和流程图。。。 展开
 我来答
匿名用户
2013-11-10
展开全部
原理:int s,i,n;输入一个n的值用循环语句for(i=n;i!=0;i--){s=s*i(s初值设为1);}就这么简单,不用什么流程图!
匿名用户
2013-11-10
展开全部
原理 n!=1*2*3*...*n既然没说用递归一个for循环就得了 temp=1;for(i=1;i<=n;i++)
{
temp*=i;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-10
展开全部
可以用递归函数:#include <stdafx.h>
#include <iostream.h>
long digui(int n);
int main()
{
int n;
long dg;
cout<<"输入一个数,求它的乘阶: ";
cin>>n;
dg=digui(n);
cout<<"这个数的乘阶为: "<<dg<<endl;
return 1;
}
long digui(int n)
{
long dg;
if(n==1)
{
dg=1;
}
else
{
dg=digui(n-1)*n;
}
return (dg);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-10
展开全部
找哥啊···给你copy一个!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-23
展开全部
计算公式为:
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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式