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

谢谢啊

限于整型数据的数据范围,所以实际上这个程序只能求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++编程

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
//注意,限于整型数据的数据范围,所以实际上这个程序只能求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);
}本回答被提问者采纳
第2个回答  2019-04-01
//注意,限于整型数据的数据范围,所以实际上这个程序只能求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);
}
第3个回答  2009-12-13
#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;
}
相似回答