问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:求1*3*5*...*n的递归式.cpp
*作 者:白云飞
*完成日期:2014年11月17日
*版 本 号:v1.0
*
*问题描述:求1*3*5*...*n的递归式。
*程序输入:一个奇数
*程序输出:1*3*5*...*n的值
*/
#include<iostream>
using namespace std;
int fac(int n);//声明自定义函数
int main()//主函数
{
int n;//声明变量
cout<<"请输入一个奇数:"<<endl;
cin>>n;
cout<<fac(n)<<endl;//调用自定义函数并求出函数值
return 0;
}
int fac(int n)//自定义函数
{
int f;//声明变量
if (n==1) f=1;//判断语句
else f=n*fac(n-2);
return (f);//返回f的值
}
运行结果:
知识点总结:
函数的递归调用
学习心得:
和“求n!的阶乘”的代码相似,不过在自定义函数里,把n-1改成n-2,而且只能输入奇数。