用c++语言求n的阶乘 10

一定要是c++语言,不是c语言,并能在visualc++6.0上运行的程序... 一定要是c++语言,不是c语言,并能在visual c++6.0上运行的程序 展开
 我来答
很多游戏
高粉答主

2019-05-31 · 游戏精通者,攻略技能点满
很多游戏
采纳数:91 获赞数:387009

向TA提问 私信TA
展开全部

1、打开vs6.0软件,准备一个后缀为cpp的文件,在c++文件中首先写入头文件,定义一个处理阶乘的函数,接着写一个空的main函数

2、接着是阶乘recv函数逻辑,该函数有一个形参n用来接收输入的数。n的阶乘是所有正整数的乘积,这里的处理是sum不断的用递归的方法乘以recv函数的输入数,每次相乘n的值都减1;主函数中用一个cin函数接受用户输入的数,之后调用recv处理阶乘,最后则是输出结果:

3、程序编写完成,最后编译运行,输入任意一个数,最终会打印出计算的结果。以上就是用C++求阶乘的方法:

PolariSmiles
推荐于2018-02-28 · 超过13用户采纳过TA的回答
知道答主
回答量:45
采纳率:100%
帮助的人:40万
展开全部
#include<iostream.h>
int result=1;
void fac(int n)
{
while(n!=0)
{
result*=n;
n--;
}
}
void main()
{
int a;
cout<<"请输入所要求阶乘的数:"<<endl;
cin>>a;
fac(a);
cout<<a<<"!="<<result<<endl;
}
这个可以,我试过了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天空再亮
2012-02-29
知道答主
回答量:24
采纳率:0%
帮助的人:13.4万
展开全部
#include<iostream>
#define MAX 1000
using namespace std;
int main()
{
int n;
while(cin>>n&&n>=0)
{
int i,j;
int a[MAX]; //存数运算结果
int p,h; //p存储当前结果的位数,h为进位
a[1]=1;
p=1;
for(i=2;i<=n;i++) //循环与2,3,4.....n相乘
{
for(j=1,h=0;j<=p;j++) //让a[]的每位与i相乘
{
a[j]=a[j]*i+h;
h=a[j]/10;
a[j]=a[j]%10;
}
while(h>0) //如果h不为0
{
a[j]=h%10;
h=h/10;
j++;
}
p=j-1; //将当前的位数赋给p
}
for(i=p;i>=2;i--)
{
cout<<a[i];
}
cout<<a[i]<<endl;
}
return 0;
}
追问
运行有错误呢
追答
可以的啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我才是yyBeta
2012-03-15
知道答主
回答量:24
采纳率:0%
帮助的人:23.8万
展开全部
//以下为求n的阶乘的程序

#include<iostream>
using namespace std;

int main()
{
int n,result;
cin >> n;
for (result=1, n>1;n--)
{
result=result*n;
}
cout << result;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yourqqqq
2012-03-14
知道答主
回答量:4
采纳率:0%
帮助的人:3.6万
展开全部
创建递归函数法求一个正整数的阶乘,我喜欢这个方法,简单明了

#include <iostream>
using namespace std;
int f (int x)
{
if (x<1) return 0;
else if (x==1) return 1;
else return x*f(x-1);
}
int main()
{
cout<<"请输入一个正整数:";
int x;
cin>>x;
cout<<f(x)<<endl;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式