c++编程题 编写函数实现求n!,主程序要求输入n的值,用函数调用的方式求n!的值

谢谢啊... 谢谢啊 展开
 我来答
爱堕落
2019-11-11 · TA获得超过4118个赞
知道答主
回答量:54
采纳率:0%
帮助的人:1.4万
展开全部

限于整型数据的数据范围,所以实际上这个程序只能求n<=12的情况。如果想求更大的,必须为这个阶乘自定义一个数据类型。

#include<iostream>      using namespace std;

int fact(int n);     int main(){

 int n;    cout<<"求n!,请输入n:\n";

 cin>>n;   cout<<fact(n)<<endl;

 return 0;}

//下面是使用递归函数求n!

int fact(int n){     if(n==1) return(1);

 else     return(fact(n-1)*n)}

扩展资料

一个简单的c++编程例子:

定义一个圆锥体类(yzt),数据成员有半径r,高h,成员函数有:构造函数、求圆锥体体积的valume(),显示函数display(),在main()中定义yzt 的对象s,求r=h=1时的体积,公式:π/3rrh

#include <iostream>using namespace std;//定义标准命名空间

class yzt //定义yzt类{

private:double r,h;

public:yzt(double x=0,double y=0)// 为yzt的构造函数,功能是为r,h赋值

{ r=x;h=y; }double valume()//求圆锥体的体积函数

{ double v=0;v=(3.1415/3)*r*r*h;

return v; }void display() //圆锥体的体积显示函数

{cout<<"圆锥体的体积为:"<<valume()<<endl;}

};int main() //主函数,任何程序都必须有一个main()函数,因为要从它开始执行

{

yzt s(1,1); //定义yzt的对象s.display(); //利用对象s调用yzt的display()函数

return 0;

参考资料;百度百科-c++编程

hughxing
推荐于2017-12-16 · TA获得超过4358个赞
知道小有建树答主
回答量:495
采纳率:0%
帮助的人:0
展开全部
//注意,限于整型数据的数据范围,所以实际上这个程序只能求n<=12的情况。如果想求更大的,必须为这个阶乘自定义一个数据类型。
#include<iostream>
using namespace std;

int fact(int n);

int main()
{
int n;
cout<<"求n!,请输入n:\n";
cin>>n;
cout<<fact(n)<<endl;
return 0;
}

//下面是使用递归函数求n!
int fact(int n)
{
if(n==1)
return(1);
else
return(fact(n-1)*n);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
毋迎南彭菲
2019-04-01 · TA获得超过3.1万个赞
知道大有可为答主
回答量:1.2万
采纳率:27%
帮助的人:730万
展开全部
//注意,限于整型数据的数据范围,所以实际上这个程序只能求n<=12的情况。如果想求更大的,必须为这个阶乘自定义一个数据类型。
#include<iostream>
using
namespace
std;
int
fact(int
n);
int
main()
{
int
n;
cout<<"求n!,请输入n:\n";
cin>>n;
cout<<fact(n)<<endl;
return
0;
}
//下面是使用递归函数求n!
int
fact(int
n)
{
if(n==1)
return(1);
else
return(fact(n-1)*n);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
分逆线8574
2009-12-13 · 超过19用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:0
展开全部
#include <iostream>
using namespace std;
int multi(int n);

void main()
{
int x;
scanf("%d",&x);
int n=multi(x);
printf("%d\n",n);
int sign;
scanf("%d",&sign);
}

int multi(int n)
{
int m;
if(n==1)
m=1;
else
m=n*multi(n-1);
return m;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式