例4.11.txt
来自「谭浩强的c++一书用到的所有原代码,还比较经典!」· 文本 代码 · 共 24 行
TXT
24 行
例4.11 用递归方法求n!。
有了例4.10的基础,很容易写出本题的程序:
#include <iostream>
using namespace std;
long fac(int); //函数声明
int main( )
{int n; //n为需要求阶乘的整数
long y; //y为存放n!的变量
cout<<″please input an integer :″; //输入的提示
cin>>n; //输入n
y=fac(n); //调用fac函数以求n!
cout<<n<<″!=″<<y<<endl; //输出n!的值
return 0;
}
long fac(int n) //递归函数
{long f;
if(n<0)
{cout<<″n<0,data error!″<<endl; //如果输入负数,报错并以-1作为返回值
f=-1;}
else if (n==0||n==1) f=1; //0!和1!的值为1
else f=fac(n-1)*n; //n>1时,进行递归调用
return f; //将f的值作为函数值返回
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?